javascript FB.api调用在getLoginStatus里面工作不在外面

时间:2013-02-24 22:49:49

标签: javascript facebook api

有人可以解释为什么api('/ me'...调用在getLoginStatus块中工作并且在块中失败了吗?

(当我说失败时,response.name在undefined以及其他所有内容中)

我已经尝试在fbAsyncInit代码和回调中执行此操作,假设在init完成后触发,在这两种情况下,api('/ me'...调用仅在getLoginStatus块中有效。

在这两种情况下,我只能得到api('/ me'在getLoginStatus()块中工作。

注意:我没有遇到任何未连接用户的问题。

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    var uid = response.authResponse.userID;
    var accessToken = response.authResponse.accessToken;
    console.info("connected");
    FB.api('/me', function(response) {
      // this works
      console.info("Name: "+ response.name + "\nFirst name: "+response.first_name+"");
    });                                
 } else if (response.status === 'not_authorized') {
              console.info("bad");
 }
});

FB.api('/me', function(response) {
  // response.name == 'undefined' 
  console.info("Name: "+ response.name + "\nFirst name: "+response.first_name+"");
});                                

0 个答案:

没有答案