【问题标题】:Facebook get shares count for each post, got (#613) Calls to stream have exceeded the rate of 600 calls per 600 secondsFacebook 获取每个帖子的分享数,获得 (#613) 流式调用已超过每 600 秒 600 次调用的速率
【发布时间】:2012-10-05 22:21:09
【问题描述】:

我们正在使用图形 API 来获取客户端每个页面上所有帖子的共享数,每天运行一次,我们使用 graph.facebook.com/post_id,但我们不获取

(#613) 流式调用已超过每 600 秒 600 次调用的速率

我尝试使用批处理请求,似乎批处理中的每个请求都计入了限制。有什么建议吗?

以下是我们目前的发现:

  1. FQL 流表没有“共享”字段。
  2. 帖子见解没有与页面墙上显示的“#shares”匹配的指标。
  3. 对帖子的图形 API 调用将很快达到限制。

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    减少调用次数 - 这是这里唯一真正的答案,假设您已经进行了其他优化,例如在一次调用中询问多个帖子的详细信息(通过 Graph API 文档主页上提到的 ?ids=X,Y,Z 语法)

    为什么需要“每天一次”?为什么不将呼叫分散在几个小时内?

    【讨论】:

    • 我假设限制是基于每个访问令牌的,如果不是,请告诉我。谢谢
    • 这是每个用户会话而不是每个用户,但除非在其中一个身份验证流程中存在边缘情况,否则每个会话应该是一个访问令牌(简短回答:是)
    【解决方案2】:

    不管是批量请求,每个项目仍将被计为一次命中,并且您将达到相同的限制。在 FB 文档中有说明

    https://developers.facebook.com/docs/graph-api/advanced/rate-limiting

    您可以尝试通过超时或延迟 cron 作业或其他方式分配负载。或者在一个小时内执行第一批,下一批可能是最安全的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 2022-12-20
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多