有人可以解释为什么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+"");
});