Facebook Javascript SDK getLoginStatus无效响应

时间:2015-09-16 15:58:28

标签: javascript facebook sdk

FB JS SDK版本:'v2.3'

我的Facebook帐户已连接到我的Facebook应用程序。 如果我在我的网站上调用FB.getLoginStatus,状态为“已连接”,则authResponse已正确填充。

在另一个浏览器或标签页上,我打开我的Facebook应用程序设置并删除该应用程序。 回到我的网站,我再次调用FB.getLoginStatus。状态仍然“已连接”。 它在很长一段时间内保持不变。

如果我刷新页面并再次运行FB.init,则FB.getLoginStatus会给出正确的“not_authorized”状态响应。

如何在不刷新页面的情况下使用FB.getLoginStatus正确获取当前登录状态?

1 个答案:

答案 0 :(得分:0)

(为什么)你没有看过方法的文件......?

https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/#servers

  

“为了提高应用程序的性能,并非每次检查用户状态的调用都会导致对Facebook服务器的请求。在可能的情况下,缓存响应。在当前浏览器会话中第一次调用FB.getLoginStatus,或者使用status: true初始化JS SDK时,SDK将缓存响应对象。对FB.getLoginStatus的后续调用将返回此缓存响应中的数据。

     

这可能导致用户自上次完整会话查询以来登录(或退出)Facebook的问题,或者用户已在其帐户设置中删除了您的应用程序。

     

要解决此问题,请使用第二个参数设置为FB.getLoginStatus来调用true以强制向Facebook进行往返 - 有效刷新响应对象的缓存。“