要让FB从URL抓取数据,我正在通过PHP curl扩展名调用https://graph.facebook.com并发布id=url_encoded_url_to_scrape&scrape=true
作为发布数据。我在通话之间有1秒的睡眠时间,并且在600秒的时间内从未超过最多约35次通话(通常它更像是几次通话)。但是,我通过以下消息限制了费率:
{
"error":{
"message":"(#4) Application request limit reached",
"type":"OAuthException",
"is_transient":true,
"code":4
}
}
通过阅读以下SO帖子,我认为我完全在速率限制范围内(600个呼叫,每个IP 600秒),并且没有其他任何东西在这个VM上运行所以它不像另一个站点导致限制是击中。 Facebook api: (#4) Application request limit reached和 What's the Facebook's Graph API call limit?
有没有人有关于如何解决这个或我做错了什么的提示?昨天我有大约20个电话,但除此之外,我认为在开发这个电话时,我总是得到速率限制信息,即使是在开始时也是如此。
答案 0 :(得分:2)
您至少应该为该调用添加一个App Access Token,并查看是否有关于请求限制的帮助。
据我所知,限速是动态的,Facebook并没有传达规则。
答案 1 :(得分:0)
有关于费率限制的官方文档,每位用户每小时至少有200个电话:https://developers.facebook.com/docs/graph-api/advanced/rate-limiting