我正在使用Twitter4j TwitterStream.user()来读取经过身份验证的用户的时间线。我只对我的用户关注的用户的推文感兴趣。 我从流中获得的大约99%的状态是转发和用户不遵循的用户回复。我通过维护我的用户的列表并根据列表检查每个状态来过滤它们,此外我正在检查status.getInReplyToStatusId是否为零。它工作但看起来非常低效,因为我读取的99%的数据然后被过滤掉了。 有没有办法用twitter4j指示用户流只发送原始推文而没有转发和回复?
答案 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。
直接留言
直接消息仍需要适当的权限。见 申请许可模式。