Twitter4j:显示所有带有特定用户帐户搜索词的推文

Twitter4j: show all tweets with searching word on specific user account

我想找到特定用户帐户上有特定词的所有推文。

String searchWord = "cat";
String userAccount = "....";

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
      .setOAuthConsumerKey("xxxxx")
      .setOAuthConsumerSecret("xxxxx")
      .setOAuthAccessToken("xxxxx")
      .setOAuthAccessTokenSecret("xxxxx");

TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

这个方法给我 String userAccount 中帐户的所有推文:

List<Status> statusList = twitter.getUserTimeline(userAccount);
for (Status status : statusList) {
    System.out.println(status.getUser().getName() + " : " + status.getText());
}

此方法给我所有包含搜索词的推文,但随机用户:

Query query = new Query(searchWord);
    QueryResult result = twitter.search(query);
    for (Status status : result.getTweets()) {
        System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText());
}

如何加入这两种方法以在帐户 userAccount 中查找所有包含单词 searchWord 中的推文。

如果您想获取特定用户的所有带有特定词的推文,您应该使用第一种方法并仅显示带有您想要的词的推文。换句话说:

String yourstring = "your text";
List<Status> statusList = twitter.getUserTimeline(userAccount);
 for (Status status : statusList) {
  if(status.getText().toLowerCase().contains(yourstring)){
    System.out.println(status.getUser().getName() + " : " + status.getText());
  }
 }