【问题标题】:Stream Live tweets from a specific user (Ruby)流式传输来自特定用户的实时推文 (Ruby)
【发布时间】:2018-10-14 11:19:20
【问题描述】:

我正在使用 tweetstream gem 来与 Twitter API 进行通信。我可以流式传输推文,如果需要,我不介意切换到常规的推特 gem。 我只想获取特定帐户何时发布的实时更新。在 ruby​​ 中执行此操作的最佳方法是什么?

【问题讨论】:

  • @Aguardientico 我已经检查过了。现在,我想出的最好方法是使用client.search("from:target_user", result_type: "recent").take(1).collect do |tweet| ,我不确定它是否会起作用。我的想法是它从 target_user 获取任何推文,然后从上次检查时进行比较。本质上是一个无限循环,直到有差异然后它才会爆发。
  • 您是使用Twitter::Streaming::Client 还是使用Twitter::REST::Client 创建客户端,前者保持开放连接以接收来自推特的新数据
  • @Aguardientico 使用 tweetstream 这只是从 twitter 使用流 API 的一种更简单的方法

标签: ruby twitter tweetstream


【解决方案1】:

如果您想实时更新特定帐户何时发帖,请查看webhooks。 Webhook 允许您构建或设置订阅 twitter.com 上某些事件的 Twitter 应用程序。使用 webhook 的好处是 Twitter 会向您的应用发送一个有效负载作为 POST 请求,然后您的工作将在您的应用中相应地处理此响应。这假设您有一个在本地运行的应用服务器,例如 rails 服务器。优点还在于它异步发生,您无需不时手动点击 Twitter API 即可知道是否有任何更新

【讨论】:

  • 是否适合(或根据 Twitter API TOS)运行脚本,然后让它进入一个 while 循环,它只是不断地坐在那里等待看是否有东西进来?我想避免使用铁轨(正当理由)。
  • 我很难说,因为我从未使用过它,尽管通过阅读 gem 的文档,我知道它可以满足您的需求。尝试在此处发布一些代码示例,以便其他人可以帮助您。没有代码,任何人都很难说什么。
  • 这个 URL 可能会给你一个提示:developer.twitter.com/en/docs/tweets/filter-realtime/guides/… 看起来你需要使用 Oauth 连接 Twitter API 并点击正确的端点。
  • @jedi 与 webhook api 对于不能也不会 OAuth 进入您的应用程序的用户,您将如何收听用户的推文。
  • @CQM 来自 Twitter API 开发人员页面 '当您添加要接收事件的帐户时,您将使用该帐户的访问令牌订阅它们。 (...) 一旦您的网络应用程序准备就绪,下一步就是添加帐户以接收活动。这意味着 Twitter 允许您订阅以侦听特定帐户中的事件。这能回答你的问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
相关资源
最近更新 更多