Подтвердить что ты не робот

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

Я видел, как многие компании занимались щебетать лотереями, где пользователи получили возможность отредактировать свой твит, а затем один из ретветеров получит приз или что-то еще. Мне теперь интересно, как они получают список всех ретветеров или выбирают победителя?

Я проверил API Twitter и нашел только эту вещь: GET statuses/retweets/: id, но он возвращает максимум 100 retweeters. Это единственный способ?

4b9b3361

Ответ 1

Похоже, там есть пара услуг, которые делают почти это. Быстрый google поднимает http://onekontest.com/, и есть еще несколько других конкурсных услуг в Twitter, но все они кажутся разными уровнями сломанных, t поддерживал изменения в API.

Что касается самого API Twitter, если вы ожидаете более 100 ответов, я думаю, что использование GET statuses/mentions делает наиболее смысл. Этот вызов API возвращает любые упоминания пользователя, и вы можете передать флаг include_rts, чтобы включить любые ретвиты ваших твитов. Затем, если вы хотите указать RT определенного твита, вы можете проверить поле in_reply_to_status_id в возвращаемых данных, чтобы узнать, соответствует ли он оригинальному идентификатору твита. Этот вызов API возвращает только последний статус 800, 200 за раз, поэтому, если вы ожидаете кучу данных, вам нужно будет периодически опробовать API со временем, чтобы получить все твиты. Я полагаю, что такие услуги, как favstar, делают именно это, только в большем масштабе.

Если вы действительно ищете код, чтобы сделать что-то подобное, я написал приложение для синатры под названием twitter-rss-digest, которое обрабатывает запрос через Twitter время для отслеживания различных видов запросов. Это довольно грубо и не совсем справляется с этим конкретно, но это может указать вам в правильном направлении, если вы хотите что-то закодировать.

Ответ 2

Существует метод API, который возвращает до 100 записей курсорной коллекции (так что вы можете просмотреть ее, чтобы получить больше).

Более подробную информацию можно найти на сайте разработчиков Твиттера по адресу GET statuses/retweeters/ids, хотя вы также захотите прочитать их страницу об использовании курсоров для навигации по коллекциям.

Обратите внимание, что по историческим причинам эта конечная точка возвращает только 100 результатов. Твиттер отказался исправить ситуацию.

Примечание 2013

Тем не менее, первая ветка на сайте разработчиков, появившаяся в быстром Google, имеет @episod, сотрудник Twitter, который говорит:

Вы не можете, вероятно, добраться до всех из них. Данные разложены. Лучше всего использовать API REST для определения многих пользователей, которые выполняли ретвит, но данные по-прежнему будут ограничены.

Проще всего отслеживать ретвиты по мере их появления, чем пытаться найти их из прошлого. Используйте Streaming API для этого.

Ответ 3

Мне нравится метод muffinista, но я думаю, что если вы хотите получить 100% полный список ретвитов, просто включите уведомления электронной почты retweet и напишите script, который опросит поле электронной почты для тех, кто соответствует теме "переизданный один из ваших твитов!" и помещать данные в таблицу. Сделайте это с самого начала.

Ответ 4

Сайт https://twren.ch/ включает в себя все ретвитеры для данного твита (обратите внимание, что он привлекает только ретвитеров, которые являются прямыми последователями исходного твитера.) Тем не менее, это, пожалуй, единственный общедоступный доступный источник.