javascript FB.api调用在getLoginStatus内部工作,而不是在外部工作
有人能解释为什么api(“/me”…调用在getLoginStatus块内工作,而在块外失败吗 (当我说失败时,response.name和其他所有内容都是未定义的) 我尝试在fbAsyncInit代码中以及在一个回调中执行此操作,该回调假定在初始化完成后触发,并且在这两种情况下,api(“/me”…调用仅在getLoginStatus块中工作 在这两种情况下,我只能让api(“/me”在getLoginStatus()块内工作 注意:我没有遇到任何用户未连接的问题javascript FB.api调用在getLoginStatus内部工作,而不是在外部工作,javascript,facebook,api,Javascript,Facebook,Api,有人能解释为什么api(“/me”…调用在getLoginStatus块内工作,而在块外失败吗 (当我说失败时,response.name和其他所有内容都是未定义的) 我尝试在fbAsyncInit代码中以及在一个回调中执行此操作,该回调假定在初始化完成后触发,并且在这两种情况下,api(“/me”…调用仅在getLoginStatus块中工作 在这两种情况下,我只能让api(“/me”在getLoginStatus()块内工作 注意:我没有遇到任何用户未连接的问题 FB.getLoginSta
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+"");
});
我可以想象,在
getLoginStatus
anonymus回调的范围内返回了一些东西,调用FB.api(/me)
。也许您可以尝试将对getLoginStatus
的响应值存储到全局范围或插件范围内的变量中……然后调用getFB.api(/me)
。您是否在firebug/developer tools的“网络”选项卡中获得任何被拒绝的权限?错误?我在“网络”选项卡中没有看到任何错误,除了我读取的一个可选参数丢失的频道。pull 2-act.channel.facebook.com的中止我也有同样的问题…非常奇怪