如何使用twitter gem rails获取Twitter分析?

时间:2015-12-07 05:51:49

标签: ruby-on-rails-4 twitter twitter-gem

我想获取推文的分析,我在我的ruby on rails应用程序中使用twitter gem发布的推文。有没有可能实现这个目标?我想在我的应用程序上显示推文印象,如果有任何可能的方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以从中提取整个帐户的参与度数据。在每个推文的基础上,您可以提取收藏计数以及转推计数。以下是后者的一个例子:

首先像这样定义你的客户:

client = Twitter::REST::Client.new do |config|
    config.consumer_key        = Devise.omniauth_configs[:twitter].strategy.consumer_key
    config.consumer_secret     = Devise.omniauth_configs[:twitter].strategy.consumer_secret
    config.access_token        = self.identities.find_by(provider: :twitter).token
    config.access_token_secret = self.identities.find_by(provider: :twitter).token_secret
end

现在定义要从中提取数据的API端点以及要获取数据的推文ID数组:

path = "1.1/statuses/lookup.json"
ids = ['1234567890','56324931407']

现在调用API并对响应做一些事情:

response = Twitter::REST::Request.new(client, 'get', path, {id: ids, map: true}).perform

你得到的结果将是一个JSON哈希,其中键是post id。在选项哈希中调用map: true会告诉API包含缺少null值的帖子密钥,而不是从响应中排除它们。您可以在Twitter::REST::Request课程的文档中阅读更多内容。

请注意,使用Twitter::REST::Request课程,您可以在API中指定任何path和/或method

如果您想计算帐户的参与度数据,则必须提取大量推文(比如100),然后解析回复并自行计算费率,因为Twitter并未提供该数据以预先打包的方式通过API。 This Quora post详细介绍了如何自行计算参与率。

至于提取展示数据,目前无法通过公共API实现。 See this discussion for more details.