用TwitterStream过滤了最后一个用户推文

时间:2014-05-14 07:38:48

标签: java twitter twitter4j

我在twitter4j java Api中创建了一个twitterStream,我想跟踪用户的状态。我得到了一个实际上是followID的用户列表。实际上在监听器中我下载了用户的状态图像。我使用以下名称保存图像:

String ImageUniqueFileName = status.getUser().getId()+"_id_"+CreateUniqueFileName();
ImageUniqueFileName = ImageUniqueFileName + ".jpg"; 

我注意到在保存的图像中,我收到了几个用户id,这些id不在初始列表followID中。我跟踪其他用户的ID是正常的吗?第二个问题,如何才能跟踪所有用户推文,而只追踪twitterStream中的最后200个用户推文?

TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
twitterStream.addListener(listener);

FilterQuery fq = new FilterQuery();
// fq.track(myQueries);
fq.follow(followIDs);
twitterStream.filter(fq);     
ArrayList<FilterQuery>  list = new ArrayList<FilterQuery>();
list.add(fq);

1 个答案:

答案 0 :(得分:1)

使用follow参数将导致以下推文匹配:

  
      
  • 用户创建的推文。
  •   
  • 由用户转发的推文。
  •   
  • 对用户创建的任何推文的回复。
  •   
  • 转发用户创建的任何推文。
  •   
  • 手动回复,无需按回复按钮即可创建(例如“@twitterapi I agree”)。
  •   
     

source

我认为你的假设是正确的,这可能是未知的ids。

关于获取用户的推文,您无法使用流媒体API,因为它是Twitter的实时视图。但是,您可以使用getUserTimeline(userId, paging)来检索推文。

有关getUserTimeline的简单示例,请查看GetUserTimeline example