Facebook API - 每个用户 token 的少量请求达到用户速率限制

标签 facebook limit rate-limiting

我有一个 Android 应用程序,它每 N 分钟检查一次来自 Facebook 的新通知,其中 N 超过 5 分钟(默认为 30 分钟)。该应用程序还向 Facebook 的 Graph API 发出一些用户生成的请求。 最近(从我们为新通知添加计划轮询的那一刻起),Facebook 开始限制我们的应用程序(大多数情况下会出现错误#17“达到用户请求限制”,但有时会出现错误#4“达到应用程序请求限制”)。 Insights Dashboard 为我们提供了以下统计数据:每天 255,000 个请求,432 个用户。这为每个用户每天发出大约 590 个请求,这远远低于我能找到的任何提到的 API 限制。 Facebook 关于速率限制的信息确实很模糊,以下是您通常可以在不同来源找到的一些数字:

  1. 每个 IP 每个 token 每 600 秒 600 次调用。
  2. 每个应用每天调用 1 亿次。
  3. 每个用户 token 每天 10,000 次调用。

我们的应用定期执行的计划请求是一个简单的 FQL:

SELECT sender_id,created_time,title_text FROM notification WHERE recipient_id=me() AND is_hidden = 0 AND is_unread = 1

即使最小更新间隔为 5 分钟,每天也会被触发 288 次。 我们尝试用 Graph API 调用替换此请求,但它没有改变任何事情。

我知道还有其他应用程序具有类似的功能,并且它们似乎没有这些限制。

有人知道是否有任何方法可以避免受到 Facebook 如此低的调用量限制吗?

谢谢!

最佳答案

事实证明,代码中存在一个令人讨厌的错误,该错误确实很难重现,有时会迫使应用程序连续 10-30 分钟循环发出 API 请求。只有一小部分客户遇到这个问题,但这足以触及 API 限制。

FB API 似乎根据应用程序的用户数量计算限制,因此即使调用量相当有限,我们也遇到了速率限制问题。 另一个观察结果是,尽管事实上只有有限数量的用户进行大量 API 调用,但 FB 确实对所有用户进行了限制。

希望这些信息能够以某种方式帮助解决类似问题。

关于Facebook API - 每个用户 token 的少量请求达到用户速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239069/

相关文章:

php - Facebook Wall Post 未显示在好友新闻源中

javascript - 我可以在 Firebase 上托管 Facebook 聊天机器人吗?

asp.net-web-api - 尝试激活 'AspNetCoreRateLimit.IProcessingStrategy' 时无法解析类型 'AspNetCoreRateLimit.IpRateLimitMiddleware' 的服务

javascript - 如何在现有的 Node.js Express 设置中集成灵活的速率限制器?

android - 在android中获取Facebook用户详细信息

sql - 如何从不检索更改表中的不同行

MySQL 选择带有总和、限制和顺序的子查询

java - 如何在 Java 中设置线程限制

azure - Azure WebApp 是否自动进行速率限制/DOS 保护?

facebook - HybridAuth:如何为现有用户请求额外权限?