Facebook GraphAPI 通过限制减少数据量
Facebook GraphAPI Reduce amount of data with limit
所以我很难找到记录的位置(如果有的话),但是当我从 FB 图表请求数据时收到以下错误消息API。
"Please reduce the amount of data you're asking for, then retry your request"
我拨打的电话是:
/v2.3/user1/posts?fields=object_id&limit=100
如果我把它改成:
/v2.3/user2/posts?fields=object_id&limit=100
它 returns 100 项。
为什么它对一个用户有效,而对另一个用户无效?
两个请求都通过访问令牌(不属于任何一个用户)进行身份验证,无论是 运行 我的代码还是 developers.facebook.com
对 Graph API 调用实施了应用级和用户级速率限制。在您的情况下,可能是您在短时间内与 user1 进行了大量通话。
您可以查看此页面以了解有关 Facebook 速率限制的更多信息:https://developers.facebook.com/docs/marketing-api/api-rate-limiting(即使 URL 指的是营销 API,该信息也适用于图表 API.)
的回答是正确的。 Facebook returns 如果它发现 需要太多 内部资源来响应您的请求,就会出现此错误。
因此你必须按照回复所说的去做:限制它。
这可以通过 (afaik) 两种方式完成:
- 使用
limit
参数并减少您期望来自 API 的响应数量
- 提供时间范围(使用
since
和/或 until
)以仅获取特定时间范围内的数据(帖子/视频)。
我们遇到了与您相同的问题,但从页面检索视频。不幸的是,使用 limit
参数 无效 ,即使我将其设置为 limit=1
。但是通过使用 since
/ until
参数我们终于得到了结果。
因此,我建议实施一个时间范围以减少数据量,或者拆分您发出的请求量。例如如果您希望过去 3 个月和 运行 的所有帖子都出现上述错误:使用 since
和 until
将您的请求分成两半。如果还是不行:继续分裂...
=> 分而治之;)
希望对您有所帮助,
KR,ebbmo
最近在 FB 上提交的错误讨论了同样的错误。他们似乎承认这可能是一个错误,但没有提供太多其他信息。
所以我很难找到记录的位置(如果有的话),但是当我从 FB 图表请求数据时收到以下错误消息API。
"Please reduce the amount of data you're asking for, then retry your request"
我拨打的电话是:
/v2.3/user1/posts?fields=object_id&limit=100
如果我把它改成:
/v2.3/user2/posts?fields=object_id&limit=100
它 returns 100 项。
为什么它对一个用户有效,而对另一个用户无效?
两个请求都通过访问令牌(不属于任何一个用户)进行身份验证,无论是 运行 我的代码还是 developers.facebook.com
对 Graph API 调用实施了应用级和用户级速率限制。在您的情况下,可能是您在短时间内与 user1 进行了大量通话。
您可以查看此页面以了解有关 Facebook 速率限制的更多信息:https://developers.facebook.com/docs/marketing-api/api-rate-limiting(即使 URL 指的是营销 API,该信息也适用于图表 API.)
因此你必须按照回复所说的去做:限制它。
这可以通过 (afaik) 两种方式完成:
- 使用
limit
参数并减少您期望来自 API 的响应数量
- 提供时间范围(使用
since
和/或until
)以仅获取特定时间范围内的数据(帖子/视频)。
我们遇到了与您相同的问题,但从页面检索视频。不幸的是,使用 limit
参数 无效 ,即使我将其设置为 limit=1
。但是通过使用 since
/ until
参数我们终于得到了结果。
因此,我建议实施一个时间范围以减少数据量,或者拆分您发出的请求量。例如如果您希望过去 3 个月和 运行 的所有帖子都出现上述错误:使用 since
和 until
将您的请求分成两半。如果还是不行:继续分裂...
=> 分而治之;)
希望对您有所帮助, KR,ebbmo
最近在 FB 上提交的错误讨论了同样的错误。他们似乎承认这可能是一个错误,但没有提供太多其他信息。