7

只是分享一些我在测试我的应用程序时遇到的信息。

Facebook Graph API 实现了速率限制,如其文档页面所述。今天我试图从 CNN facebook 页面检索提要,但出现以下500错误:

{"error":{"code":1,"message":"Please reduce the amount of data you're asking for, then retry your request"}}

这是我试图测试的查询:

https://graph.facebook.com/v2.3/5550296508/feed?fields=id,actions,application,caption,created_time,description,from,icon,is_hidden,link,message,message_tags,name,object_id,picture,place,privacy,properties,source,status_type,story,story_tags,to,type,updated_time,with_tags,shares,likes.limit(50),comments.filter(stream).limit(50){attachment,created_time,from,id,like_count,message,message_tags,comments{attachment,created_time,from,id,like_count,message,message_tags}}&access_token=xxxxxxx

4

2 回答 2

14

我尝试设置不同limit的值来减小尺寸,最终它奏效了。通过检查响应大小并稍微调整一下,我发现当响应达到(大约)200k阈值时会引发错误。

我使用 Graph API 版本 2.3 - 2.4 - 2.5 - 2.6 进行了测试

我在 facebook API 文档中没有找到有关此响应大小限制的文档,因此将来可能会对其进行更改。

只是认为如果您使用他们的 API 对某些东西进行建模,分享可能会很有用。

于 2016-04-19T22:53:47.437 回答
4

我最初看错了错误消息Please reduce the amount of data you're asking for, then retry your request,并认为我受到了速率限制——即在短时间内进行了太多的 API 调用。感谢 Dieghito 的回答,这帮助我意识到错误与响应大小有关。

就我而言,它正在获取/comments超出响应大小限制的数据。我将限制设置为 1000,这对于大多数帖子来说都很好。但是对于有很多冗长评论的帖子,回复规模太大了。我已经设置了分页,因此只需要求每页更少的评论(限制:50 或 100)就解决了我的问题。只是在这里发布问题可能与评论有关的人。

于 2017-02-03T16:49:09.890 回答