1

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

4

1 回答 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 回答