Facebook应用程序的访问令牌是否会过期?

时间:2012-02-22 19:25:44

标签: facebook facebook-graph-api

这是与我的Facebook 应用程序关联的访问令牌 - 来自https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID&client_secret=APP_SECRET的内容。我可以从FB获取一次并将其保存在某处以备将来使用,或者我是否需要定期刷新它?

5 个答案:

答案 0 :(得分:19)

Access Token Tool - Facebook Developers

  

应用令牌不会过期,因为它们与您的应用秘密有关,因此应保密。

答案 1 :(得分:0)

我不确定,但由于documentation并未说明您获得了访问令牌的到期时间,我猜这是一个有根据的猜测,它不会过期。

但为什么这很重要?应用程序身份验证过程比用户更简单,所以只需将令牌保存在某处(数据库,内存),然后尝试ap​​i调用,如果失败则只发出一次调用以获取新令牌,保存,然后继续通常

答案 2 :(得分:0)

如果您需要令牌来管理页面,可以通过

获取永不过期的令牌
  1. 获取用户令牌
  2. 将用户令牌交换为长期令牌(有效期为30天)
  3. 使用此用户令牌获取页面令牌(此页面令牌不会过期)
  4. 检查您获得的令牌后,请在Debugger上查看。您现在将看到“永不过期”。

    文档位于Facebook Developers,方案5:页面访问标记

答案 3 :(得分:0)

我的应用访问令牌似乎在一个月内没有改变。我不知道它是否会改变。为了好玩,我只是改变了我的应用秘密...

我的应用访问令牌然后立即更改,当我尝试使用旧的时,我得到了一个 邮件正文的HTTP 400错误...

{“error”:{“message”:“无效的OAuth访问令牌签名。”,“类型”:“OAuthException”,“code”:190}}

我的建议是保存访问令牌并使用它。除非你得到上面的消息,否则获得一个新消息并使用它。我尚未检查的一件事是,如果用户访问令牌(您可能正在查询)已经过期,则会得到相同的结果。

答案 4 :(得分:-2)

对于每个用户令牌(您从链接获取的内容),都有一个到期日期。将其中一个令牌转到https://developers.facebook.com/tools/debug并进行调试。你会发现它们通常会在60分钟左右到期。

要扩展该用户令牌,请调用exchange命令(https://developers.facebook.com/docs/offline-access-deprecation/)使其成为60天令牌。该用户令牌必须仍然有效(未过期)才能执行此操作。