【发布时间】:2015-07-19 21:04:58
【问题描述】:
我正在构建一个报告工具来帮助一家社交媒体机构收集他们管理的帐户的统计信息。我正在使用Twitter gem。
我想收集一个帐户当周收到的@提及次数。
由于有很多帐户(例如,大约 70 个),我希望该工具使用一个用户上下文来收集数据,而不是作为不同帐户重复登录和退出。
据我所知,这意味着我不能使用提及时间线请求,因为它需要特定的用户上下文。
相反,我正在这样做:
twitter_mentions = twitter(twitter_token, twitter_secret).search("@{account.twitter_handle}", options = { since: from_date, until: to_date, count: 100 }).count
def from_date
9.days.ago.strftime("%Y-%m-%d")
end
def to_date
2.days.ago.strftime("%Y-%m-%d")
end
def twitter(token, secret)
Twitter::REST::Client.new do |config|
config.consumer_key = ENV["twitter_api_key"]
config.consumer_secret = ENV["twitter_api_secret"]
config.access_token = token
config.access_token_secret = secret
end
end
唯一的问题是返回的推文的最大数量限制为 100。我从 the documentation 知道我可以使用 max_id 进行几个单独的调用,然后我可以总结,但是我在构建时遇到了麻烦这在 Ruby 中很优雅。
任何帮助表示赞赏。
【问题讨论】:
标签: ruby-on-rails ruby twitter twitter-oauth