我正在使用Java进行项目,我需要关注一些Twitter帐户来收集有关流量的数据。 我开始使用Twitter API但突然发现限制太低所以我改为流API。这里没有限制,但我只知道如何在当前流中搜索某些内容,而不是仅从我想要的帐户中获取流。 这与twitter4J api有关吗?
我的代码如下:
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
StatusListener listener = new StatusListener() {
@Override
public void onException(Exception arg0) {
// TODO Auto-generated method stub
}
@Override
public void onDeletionNotice(StatusDeletionNotice arg0) {
// TODO Auto-generated method stub
}
@Override
public void onScrubGeo(long arg0, long arg1) {
// TODO Auto-generated method stub
}
@Override
public void onStatus(Status status) {
//I process the tweet.
}
@Override
public void onTrackLimitationNotice(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStallWarning(StallWarning arg0) {
// TODO Auto-generated method stub
}
};
FilterQuery fq = new FilterQuery();
String keywords[] = {"a","e","i","o","u"};
fq.track(keywords);
twitterStream.addListener(listener);
twitterStream.filter(fq);
答案 0 :(得分:1)
您可以使用FilterQuery
对象指定要关注的用户,例如:
long[] userIds = { ...omitted... };
fq.follow(userIds);
twitterStream.filter(fq);
请注意,过滤推文时只需要匹配其中一个条件,即track
或follow
,因此您可能需要进行一些手动过滤打算同时使用两者。
有关更多信息,请查看Twitter的follow
parameter和filter stream文档。
答案 1 :(得分:0)
twitter.createFriendship("screenName");