1

我有一个用于请求离线访问权限的 FB 应用程序。在某些时候,我改变了它并使用了 60 天有效的 access_tokens。

现在,我在 db 中存储了访问令牌和过期时间(以毫秒为单位的整数)。每次当用户使用该应用程序并且他仍然有一个有效的令牌(我检查到期时间)时,我都会尝试扩展该令牌(每天不超过一次)。

我的问题是我开始获得没有到期字段的新令牌。当我用调试器检查其中一些时,它说永不过期。

这怎么可能?12 月 5 日,offline_access 不是被移除了吗?我如何确定每次我请求访问令牌时都会得到一个有到期时间的令牌?

4

1 回答 1

1

如果用户也请求页面访问令牌,Facebook 仍会发布永不过期的令牌。

流程是这样的(斜体字的facebook回复):

  • 请求初始用户令牌
    • 授予 oauth 令牌,过期时间为 60 天后
  • 为用户是管理员的页面请求页面令牌
    • 为所有页面授予的 oauth 令牌和用户令牌被延长为永不过期(除非被撤销)。

在任何 facebook 的页面上都没有很多关于此的文档,但我已经对此进行了非常广泛的测试,并且每次都会发生。

于 2013-06-10T17:27:56.223 回答