从日期y获取红宝石用户x的所有Tweet?

时间:2018-10-29 23:09:32

标签: ruby twitter tweets

我已经安装了twitter gem,但是自从我想收集推文以来,我找不到关于如何指定的任何信息。例如,我想在2016年获得用户x的所有推文-我该如何指定?甚至有可能,因为我在文档中找不到关于它的任何信息。 除了我读到的内容之外,这可能是不可能的,因为Twitter仅允许最近7天?这是真的吗? 除此之外,我对如何不是按用户而是按井号访问推文感兴趣,这对于gem可能吗?

class TwitterGetter

  require 'twitter'

  client = Twitter::REST::Client.new do |config|
    config.consumer_key        = "xxxxx"
    config.consumer_secret     = "xxxx"
    config.access_token        = "xxxxx"
    config.access_token_secret = "xxxx"
  end
  tweets = client.user_timeline('Tweetaccount', count: 20)

  tweets.each { |tweet| puts tweet.full_text }
end

#https://www.rubyguides.com/2016/04/twitter-api-from-ruby-tutorial/

2 个答案:

答案 0 :(得分:1)

您需要使用twitter gem的search方法。 Twitter API也可能会有所帮助。

client.search("from:Tweetaccount since:yyyy-mm-dd until:yyyy-mm-dd")

since应该是开始日期,until应该是结束日期。

答案 1 :(得分:1)

很好,非常感谢您的帮助!我认为解决方案的语法略有不同,如下所示:

tweets = client.search("whatevertextiwanttomine", since: "2018-10-27", until: "2018-10-30")

我无法使用它来发表我的最后一篇帖子,这有点奇怪,我不确定为什么。 无论如何,似乎都不可能使用普通的Twitter开发者帐户搜索7天以上的帖子。