3

我已经看过很多示例,并且阅读了一些文章以深入了解访问令牌过期,并且在这篇文章Access Token Expiration中对此进行了很好的解释。

我知道如何更新过期访问令牌。但是,问题在于,如文章中所述,可能有 4 个原因导致 access token 过期。

因此,无法确定访问令牌何时到期,并且可以随时到期。传统的解决方案是使用将很快被 FB 弃用的 offline_permision。

这是我想要实现的目标:

  1. 一旦访问令牌过期,当用户使用我们的 Facebook 应用程序时,我希望 FB 通知我。

  2. 收到通知后,更新访问令牌。

我不认为以下实现了我想要的。

FB.Event.subscribe('auth.authResponseChange', function(response) {
     alert('The status of the session is: ' + response.status);
});

因此,当访问令牌过期时,有什么方法可以从 FB 获得通知?

4

1 回答 1

2

当您尝试使用过期令牌访问 API 时,Facebook 将发回一条错误消息。您只需在处理 Facebook 响应的回调函数中检查该错误,如果存在错误,请刷新令牌并再次尝试 API 调用。

来自脸书:

Facebook不会通知您之前发布的访问令牌已失效。除非您将过期时间与访问令牌一起传递给您的应用程序,否则您的应用程序通常会在您尝试向 API 发出请求时首先知道给定令牌已失效。

于 2012-04-21T23:19:59.810 回答