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