我们(当地的hackerspace)有一个Tumblr博客,想让自己成为一个Facebook页面。在上线之前,我们想将所有Tumblr内容导入到Facebook,这样我们Facebook上的粉丝也可以在这里浏览。为此我创建了一个应用程序,读取我们Tumblr博客的所有帖子,并将它们发布到我们的新Facebook页面(也回溯这些帖子)。这是我的问题:应用程序执行约130次重新发布后(~260次操作:发布+回溯)我开始收到错误:
收到OAuthException类型的Facebook错误响应:看起来你过快地误用了这个功能。您已被禁止使用它。
在帮助中心了解有关块的详细信息。 (代码368,子代码1390008)
该区块第二天就消失了,但经过类似的操作后又恢复了。几个小时之后,当块再次消失时,我在操作之间引入了6秒的延迟,但这没有帮助,并且在19次重新发布后我再次被阻止。一些事实:
这是我第一次使用Facebook API,我无法找到一个可以正式解决这个问题的地方。我可以每天做100个帖子,但我担心我最终会被禁止,即使我不想做错什么。
我没有在这里添加任何代码,因为代码本身似乎不是一个问题,而是它执行的速率。
那么,我应该每天发布100个帖子并希望我不会被禁止,或者是否有另一种“正确”的方式来解决这个问题?
提前致谢!
我回答的有点晚了,但我也遇到了这个问题所以我做了一些研究:似乎除了Facebook文档中显示的速率限制之外,对于限制垃圾邮件的POST请求,还有一个更加有限和不透明的速率。
它没有明确设置,但它可能取决于你与你正在写的页面的关系(管理与否),如果你发布到多个页面,最后如果你发布得太快。
要回答这个问题,如果你做得像每分钟一次或更少,那就好了。
我认为您超出了用户ID的速率限制。
- 您的应用可以合计每位用户每小时拨打200个电话。例如,如果您的应用有100个用户,这意味着您的应用可以拨打20,000个电话。一个用户可以拨打19,000个这样的呼叫而另一个用户可以拨打1,000个呼叫,因此这不是每用户限制。这是每个应用程序的限制 - 那个小时是一个滑动窗口,每隔几分钟更新一次 - 如果您的应用受到速率限制,则该应用的所有通话都将受到限制,而不仅仅是针对特定用户 - 您的应用所拥有的用户数是您应用的平均每日活跃用户数,以及今天的新登录信息
检查一下:https://developers.facebook.com/docs/graph-api/advanced/rate-limiting
看起来你过快地误用了这个功能。您已被禁止使用它。
在帮助中心了解有关块的详细信息。如果您认为您错误地看到了这一点,请告诉我们。