如果我登录到facebook,那么testAPI()函数会按照它应该触发,但是当我退出facebook并刷新我的init代码所在的页面时,没有任何反应。我的控制台应该记录“未登录”或“未授权”,但事实并非如此。我已经尝试清除缓存,但它不起作用。
FB.Event.subscribe('auth.authResponseChange', function(response) {
//this works
testAPI();
} else if (response.status === 'not_authorized') {
console.log("not authorized");
} else {
console.log("not logged in");
}
});
var testAPI = function() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
};
答案 0 :(得分:1)
auth.authResponseChange
仅在状态实际发生变化时触发,在您的情况下永远不会发生变化。
您想要的是使用FB.getLoginStatus
。