1

标题很混乱,我知道,但我不知道如何表达这个问题。

使用 twitter4j,我可以获得推文和转发该推文的用户列表,就像这样

但是,如果推文实际上是转发,那么我无法获得转发者列表。例子

这是我用来获取转发者列表的代码:

if(tweet.getId() > 0 && tweet.getRetweetCount() > 0) {
    try {
        List<Status> statuses = twitter.getRetweets(tweet.getId());
        for (Status status : statuses) {
            System.out.println("\n" + "\t" + "Retweeter ID:" + status.getUser().getId() + "\n" +  "\t" + "Retweeter Name:" + status.getUser().getScreenName()); 
        }
    } catch (TwitterException e) {
        //twitter.getRetweeterIds(tweet.getId(), 2, -1);
        e.printStackTrace();
    }
}

我如何获得转发的转发者?

4

1 回答 1

1

Twitter4J是一个与 Twitter REST API 接口的 Java 客户端库。要了解正确的调用方式,最好了解底层的 REST API。

查看Twitter Rest API,我们可以看到一个 API,它返回转发特定推文的用户列表GET statuses/retweeters/ids

在您的代码中,您使用的Twitter4JgetRetweets() API不会返回转发用户的 ID。

查看Twitter4J Twitter4J API 文档,我们发现getRetweeterIds(statusId)它返回了用户 ID 的列表,这些用户 ID 转推了由statusId.

于 2017-04-19T18:32:46.263 回答