只是分享我在测试应用程序时遇到的一些信息。
Facebook Graph API实现了速率限制,如documentation page所述。今天我试图从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
答案 0 :(得分:12)
我尝试设置不同的limit
值以减小大小,最终确实有效。通过检查响应大小并稍微调整一下,我发现当响应达到(大致) 200k 阈值时会抛出错误。
我使用Graph API版本2.3 - 2.4 - 2.5 - 2.6
进行了测试我在facebook API文档中找不到关于此响应大小限制的文档,因此将来可能会更改它。
如果你使用他们的API建模,可能会分享它可能很有用。
答案 1 :(得分:4)
我最初错误地错误消息Please reduce the amount of data you're asking for, then retry your request
并假设我受到速率限制 - 即在短时间内拨打太多API电话。感谢Dieghito的回答,这让我意识到错误与响应大小有关。
在我的情况下,它提取的/comments
超出了响应大小限制。我将限制设置为1000,这对大多数帖子都很好。但对于有很多冗长评论的帖子,响应大小变得过大。我已经设置了分页,因此每页请求更少的评论(限制:50或100)为我解决了问题。只需将问题与评论相关的人发布在此处。