我在Chrome上遇到了一个针对Facebook访问 token 的严重问题。以下是从中获取用户ID和访问 token 的代码。此访问 token 稍后用于访问各种facebook功能。

    FB.getLoginStatus(function(response) { 
      if (response.status === 'connected') { 
        uid = response.authResponse.userID; 
        accessToken = response.authResponse.accessToken; 
    } else if (response.status === 'not_authorized') { 

在chrome中,当我第一次加载页面时。访问 token 很好。但是当我刷新几次后,有时它会给我访问 token 作为0。因此,没有任何效果。有人可以帮我吗?

大卫

请您参考如下方法:

您可能希望尝试在页面加载时设置强制往返于Facebook服务器的往返,以便始终可以获取用户的最新状态。 JavaScript SDK会在用户第一次查看页面时自动缓存登录状态,但是您可以这样覆盖它:

FB.getLoginStatus(function(response) { 
     // this will be called when the roundtrip to Facebook has completed 
}, true); 

只要确保强制往返不会增加太多不必要的延迟!您可以在页面上阅读更多关于 FB.getLoginStatus()的信息。关于强制往返的部分大约在页面的中间。

编码愉快!


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!