查找访问令牌的过期时间

Nix*_*Nix 19 facebook-graph-api

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

And*_*ewF 27

更新:有一个新的API端点可以访问有关访问令牌的信息.您可以在此处找到信息:调试访问令牌和处理错误

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

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

-

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

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

页面访问令牌持续最多60天(5184000秒),但更重要的是,只要用户访问用于获取它们的令牌,它们就会持续.因此,只要您从以下位置获得用户,它们就会失效:

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

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

要获取新的页面访问令牌:

https://graph.facebook.com/PAGEID?fields=access_token&access_token=USER_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

  • 我在查找app app_token时遇到了一些麻烦.原来它只是APP_ID | APP_SECRET.如果您的APP_ID是123456789且APP_SECRET是asdfasdfasdfasdf,那么您的电话将是:graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=123456789|asdfasdfasdfasdf (2认同)

Chr*_*cob 7

访问令牌调试器

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

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

  • 我想要一种编程方式来检查...也就是说,我*想要*使用图形 API。 (2认同)

小智 6

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

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


And*_*zov 5

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

  • 请求新的长期令牌时没有到期日期 fb_exchange_token
  • 请求 debug_token 信息时没有到期日期 ( expires_at = 0)
  • 第一次将用户重定向到身份验证页面时,它确实回复了过期日期,但这无济于事,因为我无法提取长期有效的过期日期,也不会第二次回复此信息

这里的调试工具:https : //developers.facebook.com/tools/debug/accesstoken说“过期:从不”。