使用 twitter4j 获取特定用户的推文 java api

get tweets by particular user using twitter4j java api

我想通过输入 userId.

来获取特定用户的推文

我可以通过以下方式搜索文本:

     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); 

但是我如何通过输入特定的 userId 来搜索推文,有没有直接的方法或者我必须应用逻辑?

我正在尝试:

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

其中 id 是 userId,但是通过这样做,我得到了错误:

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

谁能帮我解决这个问题?

使用 Twitter API 你最多可以从一个用户那里获得大约 3200 条推文,为此你可以从特定用户那里获得时间线,请参阅这些问题

  • Get tweets of a public twitter profile
  • Twitter4J: Get all statuses from Twitter account

顺便说一下,您收到该错误是因为您将 twitter.showStatus(id);userid 一起使用,您需要调用 twitter.showUser(id) 并且不会收到该错误