【问题标题】:Facebook API - User rate limit reached for a small number of requests per user tokenFacebook API - 每个用户令牌的少量请求达到用户速率限制
【发布时间】:2013-08-16 20:07:40
【问题描述】:

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

  1. 每个 IP 每个令牌每 600 秒 600 次调用。
  2. 每个应用每天调用 1 亿次。
  3. 每个用户令牌每天 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 限制在如此低的通话量中?

谢谢!

【问题讨论】:

    标签: facebook limit rate-limiting


    【解决方案1】:

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

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

    希望这些信息对解决类似问题有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      相关资源
      最近更新 更多