Twitter gem:如何避免使用max_id进行深度搜索?

时间:2015-02-22 11:11:38

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

我希望我的应用每隔几分钟在Twitter上使用特定的#tag搜索推文,如下所示:

results = client.search("#mypopulartag")

但是,我不想每次都进行全面搜索。在构建应用程序时,我遇到了Twitter :: TooManyRequests错误,因为它返回了很多结果(推测Twitter gem会根据需要向Twitter发出尽可能多的client.search()次调用请求。

我不需要每次搜索超深。我可以将max_id参数传递给client.search方法,因此我不会浪费API调用吗?

1 个答案:

答案 0 :(得分:0)

是的,如果你跟踪你已经处理的最新推文的ID,那么你可以使用类似的东西(使用gem版本5.13)获取所有推文:

  client.search(
    "#mypopulartag",
    result_type: 'recent',
    since_id: since_id   # your last processed id
  ).take(15)

请记住,如果有60个结​​果,那么您需要执行更多client.search次调用以获取所有推文。对于这些来电,您还希望指定max_id等于当前搜索中处理的最后一条推文ID。