我已将我的js FB Connect升级为oauth版本&当我尝试使用FB.logout()方法以编程方式从FB注销时,我收到错误
“FB.logout()在没有访问令牌的情况下调用”
这背后的问题是什么?我在这里看到一个thread,但它对我不起作用。如果有人为此找到解决方案,请帮助我。感谢。
答案 0 :(得分:8)
这是我以前用过的。
//check if logout is
FB.getLoginStatus(function(ret) {
/// are they currently logged into Facebook?
if(ret.authResponse) {
//they were authed so do the logout
FB.logout(function(response) {
//do your stuff here.
});
} else {
///do something if they aren't logged in
//or just get rid of this if you don't need to do something if they weren't logged in
}
});
答案 1 :(得分:0)
我遇到了这个问题并修复了它。
当用户已经注销并且我再次尝试fb.logout()方法时,这发生在我身上。它似乎在以下代码中:
FB.logout(function(response)
{
console.log(response.status);
}
);
由于某些缓存问题或其他一些错误,即使用户已退出, response.status
也会说“已连接”。因此,最好使用authResponse
来确定用户是否已登录.I.e:
FB.logout(function(response)
{
if (! response.authResponse)
//disable logout button
}
);