我想在我的java应用程序中从twitter发送推文。我目前能够使用Twitter4J做到这一点。 这是我的代码示例 -
public static void main(String args[])
{
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey("PEBF3A1wUnNLfT83jpjGBEVNn");
cb.setOAuthConsumerSecret("Cqcuw6xyQ2tVtkGdy76s9fQuDigyDuJwxrgMETNhfuORloNFju");
cb.setOAuthAccessToken("2492966954-Fut0P36Enh0V1UAAVODUHSTGvYKy4lscWIEpaej");
cb.setOAuthAccessTokenSecret("x8onfYsnZvgImnyLVd1ncwvMhwNtrieU16gTkywUZOzpP");
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
StatusListener listener = new StatusListener(){
public void onStatus(Status status)
{
System.out.println();
System.out.println("*****************************************************************");
User user = status.getUser();
// gets Username
String username = status.getUser().getScreenName();
System.out.println(username);
String profileLocation = user.getLocation();
System.out.println(profileLocation);
long tweetId = status.getId();
System.out.println(tweetId);
String content = status.getText();
System.out.println(content +"\n");
}
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}
public void onException(Exception ex) {
ex.printStackTrace();
}
@Override
public void onScrubGeo(long arg0, long arg1) {
// TODO Auto-generated method stub
}
@Override
public void onStallWarning(StallWarning arg0) {
// TODO Auto-generated method stub
}
};
List<String> queries = new ArrayList<String>();
queries.add("#carb0nx");
twitterStream.addListener(listener);
//twitterStream.firehose(20);
String[] trackQueries = (String[]) queries.toArray(new String[queries.size()]);
FilterQuery filterQuery = new FilterQuery();
twitterStream.filter(filterQuery.track(trackQueries));
}
上述程序仅提取运行程序后为主题标签添加的推文。我想在收到新添加的推文之前收到所有旧推文。
提前致谢。enter code here
答案 0 :(得分:0)
您发布的代码使用流式api。所以你只会得到新的推文。
查看此示例的旧推文:
另请查看https://dev.twitter.com/docs/rate-limiting/1.1以获取REST API速率限制