这些会过期吗?
我正在构建一个允许用户管理他们的Facebook粉丝页面的应用程序。 这需要以下两个访问令牌:
我对用户访问令牌非常熟悉,但对页面访问令牌不熟悉。
有人知道页面访问令牌保持有效多久吗? 我在Facebook网站上可以找到的就是这个简洁的段落,它没有提及任何有关过期的内容。
我可以假设,如果我要求具有offline_access
权限的用户访问令牌,则页面访问令牌也将无限期地持续(除非用户更改其密码或手动取消授权我的应用)?
我问,因为我想知道我应该多久查询Facebook Graph API并获取页面访问令牌。 当用户注册时,我应该只需要一次吗? 或者我应该在他们不断变化的情况下向他们请求一个API调用? 后者显然更加重要!
页面令牌在用户生成页面令牌时访问令牌到期时过期。 编辑6.28.2013:如果扩展用户访问令牌并为用户获取新的页面访问令牌,那么除非用户取消授权您的应用,否则该页面令牌不会过期。
脱机访问现在已被弃用,但您可以将访问令牌扩展为持续60天。 如果您扩展了用户的访问令牌,那么从该用户帐户生成的页面令牌也将延长到过期匹配不会过期(编辑6.28.2013)。 页面标记的值在扩展后可能会更改,因此请确保在扩展用户标记后从用户的/accounts
图表连接中获取新的页面标记。
您可以继续每天扩展这些访问令牌一次。 因此,您应该每天重新生成用户与应用进行交互的访问令牌。
请参阅https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens https://developers.facebook.com/docs/facebook-login/access-tokens/#extending https://开发人员.facebook.com /文档/ Facebook的登录/
https://developers.facebook.com/roadmap/offline-access-removal/ https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens /
您可以扩展页面访问令牌以使其永不过期。 该文档有点混乱,但以下页面有相关信息,您显然需要成为该页面的管理员。 在第二个链接中密切关注场景4和5。
https://developers.facebook.com/docs/reference/api/page/#page_access_tokens https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token
使用图形浏览器从Facebook中检索令牌很简单。 图形浏览器还允许您调试将列出过期日期的令牌,因此您可以验证它永不过期。 图表资源管理器:https://developers.facebook.com/tools/explorer
点击获取访问令牌按钮来检索您的令牌。 将您的ID保留在查询栏中,只需将/ accounts添加到您的ID中,以便它看起来像这样: /123456789101112/accounts
。 确保它是一个GET请求(查询栏左边的下拉列表)。
这将检索您配置使用的所有页面。 然后您需要发出GET请求来:
/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
您的APP_ID和APP_SECRET可以在您的应用程序管理设置中找到。 使用您的个人访问令牌作为最终参数(EXISTING_ACCESS_TOKEN)。 这将返回60天的个人访问令牌。 将此令牌复制到查询栏上方的Access令牌栏中。 现在向我们开始时向USER_ID /帐户发出GET请求。 这将再次返回您配置为使用的页面列表。
但是这次页面列出的页面标记不会过期。 您可以通过将页面令牌复制到Access令牌栏并单击调试按钮来检查此问题。 这将为您提供有关该访问令牌的详细信息,包括到期时间,在此情况下绝不应该有这种情况。
UPDATE
我还发现Facebook的图形浏览器有时会与用户上下文混淆,并且在任何时候都可能不可靠。 替代品是提琴手或邮差。
我不确定Facebook是否修改了这些错误,但似乎用户访问令牌在用户授予页面访问令牌后不会过期。 根据我的测试,流程如下所示:
希望能够澄清这里的一些混淆。 我已经在我们的应用中与许多不同的用户进行了测试,并且每次都会看到相同的内容。
如果从未请求页面访问令牌,则原始用户访问令牌将在60天后过期。
链接地址: http://www.djcxy.com/p/63223.html上一篇: Do these expire?