我已经看过很多例子,并阅读了一些文章以了解访问令牌到期情况,本文中对此进行了详细解释,Access Token Expiration。
我知道如何续订过期访问令牌。但问题是,正如文章中所解释的那样,访问令牌可能有4个原因。
因此,无法确定访问令牌何时过期且可以随时出现。传统的解决方案是使用offline_permision,很快就会被FB弃用。
这是我想要实现的目标:
一旦访问令牌过期,当用户使用我们的Facebook应用程序时,我希望FB通知我。
收到通知后,请续订访问令牌。
我不认为以下是我想要的。
FB.Event.subscribe('auth.authResponseChange', function(response) {
alert('The status of the session is: ' + response.status);
});
因此,当访问令牌过期时,有没有办法从FB获得通知?
答案 0 :(得分:2)
当您尝试使用过期令牌访问API时,Facebook将发回错误消息。您只需检查处理Facebook响应的回调函数中的错误,如果存在错误,请刷新令牌并再次尝试API调用。
来自Facebook:
Facebook 未通知您先前发布的访问令牌已失效。除非您持久地将访问令牌传递给您的应用程序的过期时间,否则当您尝试向API发出请求时,您的应用程序通常会首先知道给定令牌已变为无效。