如何获取转推的转发者列表?

How to get a list of retweeters of a retweet?

我知道标题令人困惑,但我不知道如何表达这个问题。

使用 twitter4j,我可以获得推文和转发该推文的用户列表,like this

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

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

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

如何获得转推的转发者?

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

正在查看 Twitter Rest API we can see an API that returns a list of users who have retweeted a particular tweet, GET statuses/retweeters/ids

在您的代码中,您使用的 Twitter4J API getRetweets() 不会 return 转推用户的 ID。

查看 Twitter4J Twitter4J API docs 我们发现 getRetweeterIds(statusId) return 转发特定推文的用户 ID 列表statusId.