2

我有一个 Facebook 应用程序,可以在粉丝页面上定期发布帖子。

为此,应用程序获取一个 OAuth 令牌以用于在页面上发布。要获取此令牌,用户需要访问该应用程序。然而,有时 Facebook 会使这些令牌失效,至少在用户更改他们的 FB 密码时,并且在其他一些与安全相关的情况下似乎也是如此。

发生这种情况时,应用程序将无法发布预定的帖子,并且用户不满意。我应该如何解决这个问题?我可以在用户的​​令牌过期时向他们发送电子邮件,但我将如何检测过期?鉴于我有 100,000 多个用户,经常轮询代币会很昂贵。

4

1 回答 1

3

好吧,直接回答你的问题,给你:Facebook Debugger

在此处输入 Access_token 以检查其有效性和其他信息。但我知道这通常不能解决你的问题。我可以帮助你朝着正确的方向前进。


您会看到令牌有效性受您向用户请求的权限的影响。此offline_access权限为您提供不会超时的访问令牌,而不是常规的一小时令牌。而且我相信您知道这一点,因为您已经能够安排用户帖子。

不幸的是,offline_access现在已被 Facebook 弃用(请参阅此链接)。从现在开始,Facebook 会默认给我们 2 个月的 access_token,即使没有得到许可。从那时起,我们需要“刷新”或扩展访问令牌。在该链接上阅读更多信息。

关于您在使用更改密码、注销等方面的问题,Facebook 也有自己的专门博客文章,请参见此处


如果您想自己检查令牌有效性,您可以设置一个每小时或每天运行的 CRON(取决于您),并为每个令牌 (/me) 进行快速 API 调用。如果失败或产生错误,则令牌已过期。

如果您每分钟执行一次会更好:要检查 10 到 20 个令牌,因此在一次执行中执行 100,000 多个调用不会对您的服务器造成沉重负担。

于 2012-05-16T00:13:40.747 回答