Как получить список ретвитов ретвита?

Название сбивает с толку, я знаю, но я не знаю, как еще сформулировать этот вопрос.

Используя 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();
    }
}

Как получить ретвитеров ретвита?


person R. Haroon    schedule 19.04.2017    source источник
comment
У вас есть API Twitter для ожидаемых ответов? Это ссылка, которой вы хотели бы следовать   -  person MrJLP    schedule 19.04.2017
comment
@MrJLP 4 Я проверил консоль Twitter API. Мне это не дает никакого результата. Я делаю этот вызов API твиттера: GET api.twitter.com/1.1 /statuses/retweets/854183122266497024.json   -  person R. Haroon    schedule 19.04.2017
comment
Вы извлекаете это как ретвит? Как насчет того, чтобы получить оригинальный твит. Я бы предположил, что это было бы. Вы должны понимать, как работает API   -  person MrJLP    schedule 19.04.2017
comment
@MrJLP Спасибо, сработало! Я получил оригинальный твит, а затем узнал идентификатор пользователя и псевдоним ретвитеров.   -  person R. Haroon    schedule 19.04.2017
comment
Здорово. Я отправил ответ для потомков   -  person MrJLP    schedule 19.04.2017


Ответы (1)


Twitter4J – это клиентская библиотека Java, взаимодействующая с Twitter REST API. Чтобы понять правильный вызов, лучше всего понять лежащий в основе REST API.

Глядя на Twitter Rest API, мы видим API, который возвращает список пользователей, ретвитнувших определенный твит, ПОЛУЧИТЬ статусы/ретвитеры/идентификаторы.

В вашем коде API Twitter4J, который вы используете, getRetweets(), не возвращает идентификаторы пользователей, которые сделали ретвит.

Глядя на Twitter4J Twitter4J API docs мы находим getRetweeterIds(statusId), который возвращает список идентификаторов пользователей, которые ретвитили конкретный твит, указанный statusId.

person MrJLP    schedule 19.04.2017
comment
Обратите внимание, что конечная точка возвращает не более 100 идентификаторов ретвитеров. - person Dan Dascalescu; 14.07.2019