我在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);
答案 0 :(得分:1)
使用follow
参数将导致以下推文匹配:
- 用户创建的推文。
- 由用户转发的推文。
- 对用户创建的任何推文的回复。
- 转发用户创建的任何推文。
- 手动回复,无需按回复按钮即可创建(例如“@twitterapi I agree”)。
我认为你的假设是正确的,这可能是未知的ids。
关于获取用户的推文,您无法使用流媒体API,因为它是Twitter的实时视图。但是,您可以使用getUserTimeline(userId, paging)
来检索推文。
有关getUserTimeline
的简单示例,请查看GetUserTimeline
example。