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

Vis*_*hnu 3 google-api facebook-graph-api oauth-2.0 facebook-oauth google-oauth

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

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

谢谢.

div*_*shm 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}
Run Code Online (Sandbox Code Playgroud)

这里引用FB的文档::

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

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