Twitter流媒体API有限制吗?

18

我了解Twitter REST API有着严格的请求限制(每15分钟只能请求几百次),而流媒体API有时更适合检索实时数据。

我的问题是,流媒体API的限制到底是什么?Twitter在文档中引用了一个百分比,但没有具体数量。非常感谢您提供任何见解。

我的尝试:

  • 为我创建一个简单的页面,以查看来自约1000个Twitter用户的最新推文(以及发布时间)。使用REST API似乎会很快达到限制,所以是否需要使用流媒体API来完成此应用程序?
2个回答

33

如果这些1000个用户组合在任何时候发布的推文总数超过(非常)大约60条/秒,您使用Streaming API应该没问题。

使用Streaming API端点statuses/filterfollow参数,您可以允许最多5000个用户。除了流返回超过当时发布的全部推文的约1%的情况外,没有速率限制。(每秒60条推文是推文的平均速率的1%,该速率始终在波动,因此不要依赖该数字。)

如果流量超过了1%的阈值,则可以检测到此情况。(请参见LIMIT通知。)然后您将使用REST API查找错过的推文。


1
点赞提示的限制以找出由于阈值而错过推文的数量。 - rdoubleui
好的,明白了,谢谢。所以如果我需要监控5001个Twitter用户,那么我也会受到限制吗? - redbird_is
嗨 @Pega88,Twitter不会公布这个。通过谷歌搜索很容易找到统计数据,也不难自己测量。 - Jonas
2
@shekhar 这取决于你编写代码的方式。有许多错误条件需要编码处理。阅读此文以了解更多信息:http://geduldig.github.io/TwitterAPI/faulttolerance.html - Jonas
1
每个流连接都是一个请求。您可以在developer.twitter.com上找到有关v2端点的类似文档。从那里开始。 - Jonas
显示剩余13条评论

7

Twitter不允许从一个注册的应用/账户中获取多个数据流。这样做会导致之前的流被关闭。

同时,过多的连接尝试也是不被允许的,会导致用户被屏蔽。

参考文档:公共流媒体API (已过时)


我认为在这种情况下单个流应该可以很好地工作。 - Jonas
1
没错,在这种情况下,单个公共流是正确的选择。我是在回答提问者关于流API限制的问题。 - rdoubleui
3
谢谢 - 很高兴知道多次连接的事情。这意味着我不应该在每次刷新/打开展示推文页面时都连接到流API,对吗?我应该有一个独立的文件持续运行维护与流API的连接? - redbird_is
确切地说,你需要防止被封锁。 - rdoubleui
公共流API链接现在重定向到/docs。最后一个有用内容的版本日期为2017年9月 - Dan Dascalescu
谢谢提示,我的答案来自2016年1月,说实话,自那以后我没有再从事过这样的项目,所以如果这已经过时了,我很抱歉,但是在几年内维护你的答案很难。总的来说,我认为关于使用这些API的可能性已经发生了变化。 - rdoubleui

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接