【问题标题】:get tweets by particular user using twitter4j java api使用 twitter4j java api 获取特定用户的推文
【发布时间】:2015-04-08 07:30:27
【问题描述】:

我想通过输入特定用户的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,但这样做会出现错误:

搜索推文失败:404:请求的 URI 无效或 请求的资源(例如用户)不存在。也退了 当请求的方法不支持请求的格式时。 消息 - 未找到具有该 ID 的状态。代码 - 144

谁能帮我解决这个问题?

【问题讨论】:

    标签: twitter twitter4j


    【解决方案1】:

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

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

    【讨论】:

    • 那么这是否意味着如果我想要来自超过 3200 的用户的所有推文,我无法得到它?
    • 不,如果您想要来自拥有超过 3200 条用户的所有推文,您将需要另一个来源(例如 Topsy,但我不知道如何使用它)
    • 有没有办法验证给定的用户 ID 是否有效——不是我的用户,而是我可能想要指定的其他 Twitter 用户来获取他们的推文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多