Я использую этот https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=sitestreams&count=5000
, чтобы перечислить список подписчиков Twitter, но у меня есть только список из 200 последователей. Как увеличить список подписчиков Twitter с использованием нового API 1.1?Как получить полный список подписчиков Twitter, используя новый API 1.1
ответ
Вы должны сначала настроить вам приложение
<?php
$consumerKey = 'Consumer-Key';
$consumerSecret = 'Consumer-Secret';
$oAuthToken = 'OAuthToken';
$oAuthSecret = 'OAuth Secret';
# API OAuth
require_once('twitteroauth.php');
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);
Вы можете скачать twitteroauth.php здесь: https://github.com/elpeter/pv-auto-tweets/blob/master/twitteroauth.php
Тогда
Вы можете получить своих последователей, как это:
$tweet->get('followers/ids', array('screen_name' => 'YOUR-SCREEN-NAME-USER'));
Если вы хотите получить следующую группу из 5000 последователей вы должны добавить значение курсора из первого вызова.
$tweet->get('followers/ids', array('screen_name' => 'YOUR-SCREEN-NAME-USER', 'cursor' => 9999999999));
Вы можете прочитать о: Использование курсоров для навигации коллекции в этой ссылке: https://dev.twitter.com/docs/misc/cursoring
Это все еще актуально и вы можете получить имя @ TwitterName всех последователей? –
yep. Но чтобы увидеть @ TwitterName всех последователей, вам нужно создать еще один вызов метода _users/lookup_. Я думаю, что лучший подход для этого - генерировать массив со всеми идентификаторами, возвращаемыми _followers/id_, и запускать другой вызов следующим образом: '$ tweet-> get ('users/lookup', array ('user_id '=>' 1,2,3,4,5, ... ')); ' Официальная документация: https://dev.twitter.com/docs/api/1.1/get/users/lookup – elpeter
Вы не можете получить более 200 сразу ... Это было четко указано на документации, где рассчитывать:
количество пользователей, чтобы вернуться на страницу, до максимум 200. Defaults до 20.
вы можете каким-то образом сделать его VI с разбивкой по страницам с использованием
«cursor = -1» #means стр. 1, «Если курсор не указан, предполагается значение -1, что является первой« страницей ».
Редактировать : до 100 ;) –
Вот как я запускаю/обновляю полный список идентификаторов следящих элементов на своей платформе. Я бы не использовал sleep()
, как скрипт @aphoe. Действительно плохо, чтобы поддерживать связь так долго, и что происходит, если у вашего пользователя есть 1MILL-последователи? Вы собираетесь держать эту связь открытой в течение недели? lol Если вам нужно, запустите cron или сохраните команду redis/memcache. Прополощите и повторите, пока не получите всех последователей.
Обратите внимание, что мой код ниже - это класс, который запускается через команду cron каждую минуту. Я использую Laravel 5.1. Таким образом, вы, вероятно, можете игнорировать много этого кода, поскольку он уникален для моей платформы. Например, TwitterOAuth
(который получает все oAuths, которые у меня есть на db), TwitterFollowerList
- это еще одна таблица, и я проверяю, существует ли запись, TwitterFollowersDaily
- это другая таблица, в которой я храню/обновляю общую сумму за день для пользователя, а TwitterApi
- это Abraham\TwitterOAuth
упаковка. Однако вы можете использовать любую библиотеку.
Это может дать вам хорошее представление о том, что вы можете сделать тем же или даже выяснить лучший способ. Я не буду объяснять весь код, так как это происходит много, но вы можете пропустить его. Дайте знать, если у вас появятся вопросы.
/**
* Update follower list for each oAuth
*
* @return response
*/
public function updateFollowers()
{
TwitterOAuth::chunk(200, function ($oauths)
{
foreach ($oauths as $oauth)
{
$page_id = $oauth->page_id;
$follower_list = TwitterFollowerList::where('page_id', $page_id)->first();
if (!$follower_list || $follower_list->updated_at < Carbon::now()->subMinutes(15))
{
$next_cursor = isset($follower_list->next_cursor) ? $follower_list->next_cursor : -1;
$ids = isset($follower_list->follower_ids) ? $follower_list->follower_ids : [];
$twitter = new TwitterApi($oauth->oauth_token, $oauth->oauth_token_secret);
$results = $twitter->get("followers/ids", ["user_id" => $page_id, "cursor" => $next_cursor]);
if (isset($results->errors)) continue;
$ids = $results->ids;
if ($results->next_cursor !== 0)
{
$ticks = 0;
do
{
if ($ticks === 13)
{
$ticks = 0;
break;
}
$ticks++;
$results = $twitter->get("followers/ids", ["user_id" => $page_id, "cursor" => $results->next_cursor]);
if (!$results) break;
$more_ids = $results->ids;
$ids = array_merge($ids, $more_ids);
}
while ($results->next_cursor > 0);
}
$stats = [
'page_id' => $page_id,
'follower_count' => count($ids),
'follower_ids' => $ids,
'next_cursor' => ($results->next_cursor > 0) ? $results->next_cursor : null,
'updated_at' => Carbon::now()
];
TwitterFollowerList::updateOrCreate(['page_id' => $page_id], $stats);
TwitterFollowersDaily::updateOrCreate([
'page_id' => $page_id,
'date' => Carbon::now()->toDateString()
],
[
'page_id' => $page_id,
'date' => Carbon::now()->toDateString(),
'follower_count' => count($ids),
]
);
continue;
}
}
});
}
- 1. Как получить полный список подписчиков
- 2. Получить список подписчиков Twitter
- 3. Как получить количество подписчиков в Twitter API 1.1?
- 4. Twitter api 1.1 не загружает всех подписчиков
- 5. Получить всех подписчиков Twitter, используя PHP API с курсорами
- 6. Tweepy - Twitter API 1.1
- 7. Как получить список моих подписчиков
- 8. twitter api 1.1 поиск
- 9. получить твиты с использованием stream API twitter, используя 1.1
- 10. Как получить список подписчиков с помощью Twitter Fabric Android?
- 11. Twitter API - Количество подбираемых подписчиков
- 12. Twitter API 1.1 выпусков
- 13. Twitter API 1.1 Hashtag Count
- 14. Youtube Data Api - Как получить список подписчиков?
- 15. Twitter api 1.1 update_with_media
- 16. Twitter API 1.1 Tweets
- 17. Как получить всех подписчиков Twitter без ограничения API-интерфейса
- 18. Twitter API 1.1: поиск api
- 19. Вопрос об аутентификации Twitter REST API 1.1
- 20. Получить общедоступные твиты Twitter API 1.1
- 21. Twitter API 1.1 OAuth Получить Использование данных
- 22. Twitter api 1.1 получить тенденции по дате
- 23. Twitter API 1.1 поиск твитов
- 24. Node.js и Twitter API 1.1
- 25. API Twitter 1.1 весь поток
- 26. Как получить имена подписчиков профиля из Twitter?
- 27. Linkedin API получить список подписчиков компании
- 28. Как получить каналы из twitter new api 1.1?
- 29. iOS: Как получить твит из Twitter API 1.1
- 30. Parsing Twitter API 1.1 JSON
Я с помощью этого твиттер https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=sitestreams&count=5000 с OAuth в список имя последователей list.I у 1667 последователей но список API содержит только 200 последователей. –
Создал [repo on github] (https://github.com/aphoe/twitter-followers-id), я сам его использовал некоторое время и со временем изменил ,Надеюсь, что это решило вашу проблему. – aphoe