2015-04-08 71 views
1

我想通过输入userId来获取特定用户的推文。使用twitter4j获取特定用户的推文java api

我可以搜索文本:

 Query query = new Query("Hi"); 
     QueryResult result; 
     do { 
      result = twitter.search(query); 
      List<Status> tweets = result.getTweets(); 
      for (Status tweet : tweets) { 
       System.out.println("@" + tweet.getUser().getScreenName() + 
        " - " + tweet.getText()); 
       } 
      } while ((query = result.nextQuery()) != null); 

,但我怎么可以搜索Twitter信息通过输入特定userId,有没有直接的方法还是我必须应用逻辑是什么?

我想:

  Status status = twitter.showStatus(id); 
      if (status != null){ 
       System.out.println("@" + status.getUser().getScreenName() 
       + " - " + status.getText());} 

其中id是用户id,但这样做,我得到的错误:

Failed to search tweets: 404:The URI requested is invalid or the resource requested, such as a user, does not exists. Also returned when the requested format is not supported by the requested method. message - No status found with that ID. code - 144

任何人都可以请帮我这个?

回答

2

随着Twitter的API,你可以起床从用户〜3200鸣叫,要做到这一点,你可以从一个特定用户的时间线,看​​到这些问题

顺便说一句,你是因为你使用的twitter.showStatus(id);userid收到这个错误,你需要调用twitter.showUser(id),你不会得到日在错误

+0

所以,这意味着,如果我想从一个用户超过3200的所有推文,我不能得到它? – u12345

+0

不,如果你想要所有来自3200多用户的推文,你将需要另一个来源(如Topsy,但我不知道如何使用它) – FeanDoe

+0

有没有办法来验证给定用户ID是否有效 - 不是我的使用者,而是我可能想要指定的其他Twitter用户获取他们的推文。 – Levon

相关问题