新的offline_access令牌实现Facebook应用程序与JavaScript

时间:2012-04-16 14:37:28

标签: javascript facebook facebook-javascript-sdk facebook-oauth facebook-access-token

我一直在使用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小时的有效期,这意味着这不是一个具有无限到期时间的访问令牌。有没有办法可以请求有效期更长的访问令牌?请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

我认为这一政策变化现在令人困惑,因为他们今天正在改变这一点 直到新政策适用,您可能需要按照here所述更改您的应用配置 我想你必须检查你的“弃用offline_access”“设置 只要未提供offline_access且未应用新策略,access_token通常会在2小时后到期。