Facebook 应用因发帖速度过快而被阻止。有哪些限制?

Rok*_*kas 6 facebook tumblr restfb facebook-graph-api

我们(一个本地黑客空间)有一个 Tumblr 博客,想把自己变成一个 Facebook 页面。在上线之前,我们想将我们所有的 Tumblr 内容导入 Facebook,以便我们在 Facebook 上的粉丝也可以在这里浏览。为此,我制作了一个应用程序,它可以读取我们 Tumblr 博客中的所有帖子,并将它们发布到我们的新 Facebook 页面(也对这些帖子进行回溯)。这是我的问题:在应用程序执行约 130 次重新发布(约 260 次操作:发布 + 回溯日期)后,我开始收到错误消息:

收到 OAuthException 类型的 Facebook 错误响应:您似乎因为过快而误用了此功能。您已被阻止使用它。

在帮助中心了解更多关于块的信息。(代码368,子代码1390008)

第二天该块消失了,但经过类似数量的操作后它又回来了。几个小时后,当阻止再次消失时,我在操作之间引入了 6 秒的延迟,但这并没有帮助,在 19 次重新发布后,我再次被阻止。一些事实:

  • 我正在将帖子发布到我是(唯一)所有者的(尚未发布的)页面的提要中。
  • 该应用程序是一个独立的 JAVA 应用程序,并使用restfb与 Facebook 一起工作。
  • 导致错误的行: facebookClient.publish("me/feed", FacebookType.class, params.toArray(new Parameter[0]));
  • 所有发布操作都包含一个链接,主要指向 Tumblr 上的相应帖子。有些包含消息、标题或名称(取决于帖子类型)。
  • 我需要从 Tumblr 重新发布大约 900 个帖子,到目前为止我已经完成了大约 250 个。结束后,我可能会安排在服务器上,以保持同步单个新帖子。
  • 这个应用程序不打算公开使用,而是一个个人实用程序(但如果有人需要,代码将发布到 GitHub)。

这是我第一次使用 Facebook API,我无法找到一个可以正式解决这个问题的地方。我可以继续每天发 100 个帖子,但我担心我最终会被永久禁止,即使我不想做错任何事。

我没有在这里放更多的代码,因为代码本身似乎不是问题,而是执行的速度。

那么,我应该每天发 100 个帖子并希望我不会被禁止,还是有另一种“正确”的方法来处理这个问题?

提前致谢!

小智 0

我认为您超出了您的用户 ID 的速率限制。

- 您的应用程序每个用户每小时总共可以拨打 200 次电话。例如,如果您的应用有 100 个用户,这意味着您的应用可以拨打 20,000 个电话。一个用户可以拨打 19,000 个电话,另一个用户可以拨打 1,000 个电话,因此这不是每个用户的限制。这是每个应用程序的限制
- 该小时是一个滑动窗口,每隔几分钟更新一次
- 如果您的应用程序受到速率限制,则对该应用程序的所有调用都将受到限制,而不仅仅是针对特定用户
- 您的应用程序拥有的用户数量是您的应用的平均每日活跃用户数,加上今天的新登录次数

检查这个:https://developers.facebook.com/docs/graph-api/advanced/rate-limiting

  • 谢谢阿列克谢。我已经看过此信息,但我认为情况并非如此,因为: - 我收到不同的错误代码。- 我什至不能发200个帖子,比这个还少。- 我检查了我的速率限制监视器,它显示“您的应用程序在过去 24 小时内没有进行足够的调用,没有资格获得速率限制”。 (3认同)