首页 文章

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

提问于
浏览
3

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

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

谢谢 .

1 回答

  • 6

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

    使用Graph API endpoints 手动扩展标记::

    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的文档::

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

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

相关问题