我想为我在我的 ruby on rails 应用程序中使用 twitter gem 发布的推文获取 twitter 分析。有没有可能实现这一目标?我想在我的应用程序上显示推文印象,如果有任何可能的方法,请告诉我。
1 回答
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 哈希,其中键是帖子 ID。调用map: true
选项散列告诉 API 将缺少的帖子键包含在一个null
值中,而不是从响应中排除它们。您可以在Twitter::REST::Request类的文档中阅读更多内容。
请注意,使用Twitter::REST::Request
该类,您可以指定任何path
和/或method
来自 API。
如果您想为您的帐户计算参与度数据,您将不得不提取大量推文(例如 100 条),然后解析响应并自己计算比率,因为 Twitter 不会通过 API 提供该数据预包装的方式。这篇 Quora 帖子更详细地介绍了如何自己计算参与率。
至于拉取印象数据,目前无法通过公共 API 实现。有关更多详细信息,请参阅此讨论。
于 2015-12-15T15:53:09.170 回答