查找访问令牌的过期时间

时间:2012-04-13 22:21:47

标签: facebook-graph-api

有没有办法使用图形API来查找页面访问令牌或应用程序令牌何时到期?

6 个答案:

答案 0 :(得分:27)

更新:有一个新的API端点可以访问有关访问令牌的信息。您可以在此处找到信息: Debugging Access Tokens and Handling Errors

https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN

  • input_token:要调试的访问令牌
  • access_token:您的应用访问令牌或来自应用开发者的有效用户访问令牌。

-

您应该尝试确保在获得时将每个令牌的到期时间与访问令牌一起存储。对于页面访问令牌,这意味着存储用户访问令牌的到期时间。如果您想手动发现今天令牌的到期时间,您应该使用Facebook的Access Token Debugger工具。但是,您不应该单独依赖到期时间 - 实际上,许多令牌将在到期时间之前过期。

除非重置应用程序密钥,否则应用程序访问令牌将永不过期

页面访问令牌最长可达60天(5184000秒),但更重要的是,只要用户访问用于获取它们的令牌,它们就会持续。一旦您从中获得用户,请they will be invalidated

  • 退出FB。
  • 更改密码。
  • 取消对您的申请的授权。

基本上,当您丢失用户的令牌时,您将丢失该页面的令牌。相反,您应该为每个用户访问令牌检索一次页面访问令牌。如果丢弃用户访问令牌,则抛弃页面令牌。 您不应该尝试在任何重要时间段内存储页面访问权限。相反,您应该根据需要获取它们,并在用户会话终止时忘记它们。

获取新的页面访问令牌:

https://graph.facebook.com/PAGEID?fields=access_token&access_token=USER_ACCESS_TOKEN

答案 1 :(得分:7)

访问令牌调试器

https://developers.facebook.com/tools/debug/access_token

不使用Graph API ...但是一个非常有用的手动调试工具。

答案 2 :(得分:6)

现在有一个调试工具的API版本。

请参阅https://developers.facebook.com/docs/authentication/access-token-debug/

答案 3 :(得分:4)

我想对当前版本的API重复这个问题,因为我已经遇到Facebook doc明确没有描述正在发生的事情的情况:

  • 使用fb_exchange_token
  • 申请新的长期令牌时没有到期日期
  • 请求debug_token信息(expires_at = 0
  • 时没有到期日期
  • 当第一次将用户重定向到auth页面时,它确实回复了过期日期,但这没有帮助,因为我无法提取长期过期日期,也不会第二次回复此信息< / LI>

此处的调试工具:https://developers.facebook.com/tools/debug/accesstoken表示&#34;过期:从不&#34;。

答案 4 :(得分:1)

试试这个,它和我一起工作。使用您的应用获取令牌并将其粘贴到图形资源管理器中作为要用于查询的令牌。单击信息a查看到期日期。 example image

我希望它也适合你。

答案 5 :(得分:0)

https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

从上面的页面:

  

网络上的访问令牌通常有两个小时的生命周期,但是   将在需要时自动刷新。如果你想使用   访问令牌为更长寿的Web应用程序,尤其是服务器端,您   需要生成一个长期存在的令牌。一般来说是一个长寿的令牌   持续约60天。