我一直在使用 JavaScript SDK 使用 Facebook OAuth 2.0。我看到 Facebook 最近更改了“无限”过期时间访问令牌功能,现在获得了一个用于离线访问的访问令牌,最长有效期为 60 天。
我尝试了以下代码:
FB.init({appId: 'XXXXXXXXXXXX', oauth: true , secret: 'XXXXXXXXXXXXXXXXXXXXXXXXX' });
// the real values of appId and secret are not displayed for obv reasons
FB.login(function(response)
{
if(response.authResponse){
}
else{
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'read_stream,publish_stream,offline_access'});
在我的回复中:response.authResponse,我收到一个访问令牌和一个值:expiresIn,它或多或少在 6000 左右。我不明白这个值的含义。如果我将它除以 3600,我会说它给了我大约 2 小时的有效期,这意味着这不是具有无限过期时间的访问令牌。有没有办法可以请求具有更长有效期的访问令牌?请让我知道我做错了什么。