Получите твиты общедоступного профиля в Твиттере

У меня есть список имен пользователей в Твиттере, профили которого общедоступны. Я хочу получить "все твиты", они отправили со дня, они сформировали свой профиль. Я проверил примеры Twitter4J на GitHub.
Согласно документации Программного интерфейса Твиттера, только возвращаются 20 новых твитов. Есть ли так или иначе, я мог выполнить свою задачу?

27
задан Amit G 14 August 2015 в 11:51
поделиться

2 ответа

Чтобы использовать Twitter4J для получения всех сообщений от пользователя, вам нужно будет сделать запрос на нескольких страницах ..

Нижеприведенный код основан на примере на GitHub

Twitter unauthenticatedTwitter = new TwitterFactory().getInstance();
//First param of Paging() is the page number, second is the number per page (this is capped around 200 I think.
Paging paging = new Paging(1, 100);
List<Status> statuses = unauthenticatedTwitter.getUserTimeline("google",paging);

Просто зацикливайтесь и продолжайте захватывать новые страницы, пока не перестанут работать новые сообщения.

27
ответ дан 28 November 2019 в 05:12
поделиться

Если вы прочитаете Документацию Twitter, вы можете получить до 200 твитов за раз, если укажете "count=200" в запросе API.

Вы также можете использовать "page=x" для получения различных постраничных результатов; вы можете продолжать делать это до тех пор, пока не получите все твиты, опубликованные пользователем.

Я не уверен, как ваше Java-приложение создаст это, но ваши запросы, вероятно, будут выглядеть так:

http://api.twitter.com/1/statuses/user_timeline.xml?id=SomeUsername&count=200&page=1
http://api.twitter.com/1/statuses/user_timeline.xml?id=SomeUsername&count=200&page=2
http://api.twitter.com/1/statuses/user_timeline.xml?id=SomeUsername&count=200&page=3

... и т.д.

Имейте в виду, что скорость этих запросов ограничена, поэтому вам нужно быть осторожным, чтобы не превысить лимит.

6
ответ дан 28 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: