Facebook api仅适用于我

时间:2013-04-11 16:48:05

标签: javascript facebook api facebook-javascript-sdk

我正在为facebook创建框架应用程序。 以下代码对我有用:

function changeToHome() {
  try {
    var time = new Date();
    FB.api("/me", {fields: "id,first_name,last_name,picture"}, function(response)
    {
        window.location = '#home';
        var fname = encodeURIComponent(response.first_name);
        var lname = encodeURIComponent(response.last_name);
        var avatar = encodeURIComponent(response.picture.data.url);
        var u = '?useradd='+response.id+"&fn="+fname+"&ln="+lname+"&p="+avatar+"&t="+time.getTime();
        document.getElementById('game_frame').src=('drop.html'+u);
        $.ajax({
            url: 'stat-api.php'+u
        }).done(function() {
            //alert("done");
        });
    });
    } catch(ex) {
      //alert(ex);
    }
}

但是,如果我尝试测试它的其他帐户,facebook api不起作用(我尝试了不同的浏览器并得到了相同的结果。

2 个答案:

答案 0 :(得分:0)

尝试启用(或禁用)沙盒模式。

答案 1 :(得分:0)

解决!它没有验证我的应用程序!这是一个原因。

在window.fbAsyncInit = function(){...}

中包含以下内容
FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
    //var uid = response.authResponse.userID; //FACEBOOK_ID
    //var accessToken = response.authResponse.accessToken;/ //ACCESS TOKEN
    if (response.authResponse) {
        // logged in and connected user, someone you know. 
        //  YOUR CODE HERE
            changeToHome()
    }
    }else {
      attemptLogin();
    }
    });

function attemptLogin(){
   FB.login(function(response) {
      if (response.authResponse) {
              //  YOUR CODE HERE
              changeToHome()
        } else {
          //if user didn't logged in or didn't authorize your application
      }
  }, {scope: 'offline_access,publish_stream,manage_pages,publish_actions,user_games_activity'}); //YOUR PERMISSION
}