我有一个适用于 Android 的应用程序,它每 N 分钟检查一次来自 Facebook 的新通知,其中 N 超过 5 分钟(默认为 30 分钟)。该应用程序还向 Facebook 的 Graph API 发出一些用户生成的请求。最近(从我们为新通知添加计划轮询的那一刻起),Facebook 开始限制我们的应用程序(主要是错误 #17 “达到用户请求限制”,但有时它会给出错误 #4 “达到应用程序请求限制”)。Insights Dashboard 为我们提供以下统计数据:每天 255,000 个请求,432 个用户。这使得每个用户每天大约有 590 个请求,这与我能够找到的任何提到的 API 限制相去甚远。Facebook 关于速率限制的信息非常模糊,以下是一些您通常可以在不同来源中找到的数字:
- 每个 IP 每个令牌每 600 秒 600 次调用。
- 每个应用每天 1 亿次调用。
- 每个用户令牌每天 10,000 次调用。
我们的应用程序定期执行的计划请求是一个简单的 FQL:
从通知中选择 sender_id、created_time、title_text WHERE recipient_id=me() AND is_hidden = 0 AND is_unread = 1
即使最小更新间隔为 5 分钟,它每天也会被触发 288 次。我们试图用 Graph API 调用替换这个请求,但它并没有改变任何事情。
我知道还有其他具有类似功能的应用程序,它们似乎没有这些限制。
有谁知道是否有任何方法可以避免被 Facebook 限制在如此低的通话量中?
谢谢!