【问题标题】:facebook User request limit reached已达到 facebook 用户请求限制
【发布时间】:2015-10-01 09:21:52
【问题描述】:
【问题讨论】:
标签:
facebook
facebook-graph-api
【解决方案1】:
按照文档:
您的应用程序总共可以为每位用户每小时拨打 200 次电话。例如,如果您的应用有 100 个用户,这意味着您的应用可以进行 20,000 次调用。这不是每个用户的限制,因此一个用户可以拨打 19,000 个电话,而另一个用户可以拨打 1,000 个。此限制是根据前一小时拨打的电话数计算的。
您的应用的用户数等于每日活跃用户的平均数加上今天的新登录次数
并非所有 API 调用都受到速率限制,因此您进行的调用次数可能与您在速率限制工具中看到的不匹配。 Facebook 还根据使用的 CPU 时间和总时间来限制调用。很难达到这些限制,因此这种情况极为罕见。此信息显示在每个示例的详细信息窗格中。单击仪表板上的速率限制工具中的图表以了解详细信息。
建议:
速率限制定义了在指定时间段内可以进行多少 API 调用的限制。当超过速率限制时,来自应用的所有 API 调用都会受到限制并在短时间内失败。一旦应用程序被限制,调用者将收到错误代码 = 4,CodedException 的后续调用错误。重新接受您的请求最多可能需要一个小时。
为了避免速率限制:
在两个时间间隔之间均匀分布查询,以避免发送高峰流量。使用过滤器来限制数据响应大小并避免请求重叠数据的调用。使用速率限制标头动态平衡您的通话量。
【解决方案2】:
你调用 API 的次数太多了(工作太辛苦了,对吧?)。这就是 Facebook 计算限制的方式。参考:link