【问题标题】:Facebook extreme rate limiting for graph callsFacebook 对图形调用的极端速率限制
【发布时间】:2015-06-28 20:59:15
【问题描述】:

为了让 FB 从 URL 中抓取数据,我调用 https://graph.facebook.com 并通过 PHP curl 扩展将 id=url_encoded_url_to_scrape&scrape=true 发布为发布数据。我在通话之间有 1 秒的睡眠时间,并且在 600 秒的时间内最多打过大约 35 次电话(通常更像是几个电话)。但是,我收到以下消息的速率限制:

{  
  "error":{  
    "message":"(#4) Application request limit reached",
    "type":"OAuthException",
    "is_transient":true,
    "code":4
  }
}

通过阅读以下 SO 帖子,我认为我在速率限制范围内(每个 IP 在 600 秒内 600 次调用),并且此 VM 上没有其他任何东西在运行,因此不像其他站点导致限制是打。 Facebook api: (#4) Application request limit reachedWhat's the Facebook's Graph API call limit?

有没有人对如何解决这个问题或我做错了什么有任何提示?昨天我让它工作了大约 20 个电话,但除此之外,我想我在开发这个时总是收到速率限制信息,即使是刚开始时也是如此。

【问题讨论】:

    标签: facebook facebook-graph-api facebook-opengraph


    【解决方案1】:

    您至少应该在该调用中添加一个应用访问令牌,并查看这是否有助于请求限制。

    据我所知,速率限制是动态的,Facebook 并没有为此传达规则。

    【讨论】:

    • 好吧,原来我没有走那条路,因为它说“需要这种访问令牌[app令牌]来修改和读取应用程序设置。它也可以用于发布Open Graph行动”,我认为我所做的不符合该描述 (developers.facebook.com/docs/facebook-login/access-tokens),但我会尝试一下,看看是否有帮助。
    • 我通过developers.facebook.com/docs/facebook-login/… 获得了一个应用程序访问令牌并将其添加到我的 POST 上,这使问题消失了。也许 FB 试图阻止匿名图形访问 API 的使用。
    【解决方案2】:

    有关于速率限制的官方文档,每个用户每小时至少 200 次调用:https://developers.facebook.com/docs/graph-api/advanced/rate-limiting

    【讨论】:

    • 欢迎来到 SO。仅链接的答案不如具有工作代码和有用解释的答案有用。在这种情况下,值得向 5 岁的孩子解释这个答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 2022-11-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多