在Facebook API中刷新令牌和访问令牌

时间:2013-05-15 11:20:50

标签: facebook-graph-api google-api oauth-2.0 facebook-oauth google-oauth

当我们在google api上执行oauth2时,我们会获得访问令牌和刷新令牌。假设我正在编写服务,并且我想定期轮询更改,我可以使用刷新令牌在每次当前访问令牌失效时获取新的访问令牌。这称为offline access

有没有办法在Facebook上做同样的事情?是否存在类似于google api的离线访问版本。

感谢。

2 个答案:

答案 0 :(得分:6)

对于离线访问,您需要在新访问令牌到期之前将其替换为短访问令牌。 Facebook有一种类型的访问令牌(没有刷新令牌)。即将到期的访问令牌应该为您提取新的访问令牌。

使用Graph API端点::

手动扩展标记
GET /oauth/access_token?  
    grant_type=fb_exchange_token&           
    client_id={app-id}&
    client_secret={app-secret}&
    fb_exchange_token={short-lived-token}

引用here ::

中的FB文档
  

应用无法为a过期的过期短期令牌   长寿令牌。上面的流程仅适用于短期令牌   仍然有效。一旦它们过期,您的应用必须发送给用户   再次通过登录流程。

请阅读我提及的文档链接的Expiration and Extending Tokens部分以进一步说明。

答案 1 :(得分:0)

您可以从here检查令牌的有效性,根据我的令牌,它永远不会过期