Ruby流意外停止



我使用tweetstream gem从Twitter Streaming API获取示例推文:

TweetStream.configure do |config|
    config.username = 'my_username'
    config.password = 'my_password'
    config.auth_method = :basic
end
@client = TweetStream::Client.new
@client.sample do |status|
    puts "#{status.text}"
end

但是,此脚本将在大约100条推文之后停止打印推文(脚本将继续运行)。可能是什么问题?

Twitter搜索API为文档中的内容设置某些任意(从外部)限制:

GET status/:id/retweed_by显示最多100个转发状态的成员的用户对象。

从gem中,该方法的代码是:

# Returns a random sample of all public statuses. The default access level
# provides a small proportion of the Firehose. The "Gardenhose" access
# level provides a proportion more suitable for data mining and
# research applications that desire a larger proportion to be statistically
# significant sample.
def sample(query_parameters = {}, &block)
  start('statuses/sample', query_parameters, &block)
end

我检查了API文档,但没有看到"状态/样本"的条目,但看看上面的一个,我假设您已经访问了100个状态/xxx。

此外,如果我错了,请纠正我,但我相信Twitter不再接受基本的身份验证,您必须使用OAuth密钥。如果是这样的话,那就意味着你没有通过身份验证,搜索API也会以其他方式限制你,请参阅https://dev.twitter.com/docs/rate-limiting

希望能有所帮助。

<小时>

好吧,我在那里犯了一个错误,我在看搜索API,而我本应该看流媒体API(我很抱歉),但我所说的一些事情可能是你问题的原因,所以我就到此为止。Twitter肯定已经脱离了基本的身份验证,所以我会先尝试解决这个问题,请参阅:

https://dev.twitter.com/docs/auth/oauth/faq

相关内容

  • 没有找到相关文章

最新更新