调用FB.logout()时没有访问令牌错误

时间:2011-12-19 05:46:02

标签: facebook logout

我已将我的js FB Connect升级为oauth版本&当我尝试使用FB.logout()方法以编程方式从FB注销时,我收到错误

“FB.logout()在没有访问令牌的情况下调用”

这背后的问题是什么?我在这里看到一个thread,但它对我不起作用。如果有人为此找到解决方案,请帮助我。感谢。

2 个答案:

答案 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
  }
);