如何使用Twitter4j过滤来自Twitter用户流的转推和回复?

时间:2012-06-05 21:04:59

标签: twitter4j twitter-streaming-api

我正在使用Twitter4j TwitterStream.user()来读取经过身份验证的用户的时间线。我只对我的用户关注的用户的推文感兴趣。 我从流中获得的大约99%的状态是转发和用户不遵循的用户回复。我通过维护我的用户的列表并根据列表检查每个状态来过滤它们,此外我正在检查status.getInReplyToStatusId是否为零。它工作但看起来非常低效,因为我读取的99%的数据然后被过滤掉了。 有没有办法用twitter4j指示用户流只发送原始推文而没有转发和回复?

1 个答案:

答案 0 :(得分:0)

您似乎可以通过参数过滤回复的推文,但我不确定它是否在twitter4j中实现。但关于转推,我认为你必须手动过滤它们。

来自用户流api:

  

用户流消息

     

消息类型

     

REST中没有返回一些流消息   蜜蜂。有关信息,请参阅流式消息类型。

     

用户关注的帐户数据

     

with参数控制接收的消息类型。该   User Streams的默认值为= followings,它提供有关的数据   用户和用户的关注(账户中的   认证用户遵循)。使用= user的设置仅发送事件   关于用户,而不是关于他们的事件。

     

回复

     

默认情况下,@replies仅从相互关注的位置发送。所有@replies   可以使用replies = all参数启用以下内容。对于   例如,如果Alice跟随Bob,但Alice不遵循Carol,则   默认如果Bob @replies Carol,Alice没有看到推文。该   默认行为模仿twitter.com和api.twitter.com行为。如果   应用程序希望显示所有@replies或已过滤的子集   @replies,使用replylies = all。

     

直接留言

     

直接消息仍需要适当的权限。见   申请许可模式。