3

我在 chrome 上面临一个用于 facebook 访问令牌的严重问题。以下是我从中获取用户 ID 和访问令牌的代码。此访问令牌稍后用于访问各种 facebook 功能。

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

在 chrome 中,当我第一次加载页面时。它带有访问令牌。但是当我刷新它几次时,有时它会给我访问令牌为 0。因此没有任何效果。任何人都可以帮我解决这个问题吗?

大卫

4

1 回答 1

1

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

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

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

快乐编码!

于 2012-04-23T21:58:37.820 回答