Задать вопрос
CrazyKing
@CrazyKing

Как посредством API ВКонтакте получить больше 5000 друзей методом friends.get()?

Пытаюсь получить список друзей у пользователя по средствам PHP, кол-во друзей больше 9 тысяч, в API VK у метода "friends.get" есть ограничения на получение всего 5000.
Изначально пробовал получить таким образом:
$token = "XXXXXX"; //токен
$friends_get = api ('https://api.vk.com/method/friends.get?order=name&fields=name&name_case=ins&v=5.28&access_token='.$token);
$count = $friends_get['count']; // получаем массив пользователей
for ($i=0; $i < $count; $i++) { 
$banned = $friends_get ['items'][$i]['deactivated'];//Выбираем пользователей со статусом 'deactivated'
$id = $friends_get ['items'][$i]['id']; //получаем список ID пользователей
if ($banned == banned){ //проверяем, если страница заблокирована

Затем загонял всё это дело в массив и перебирал циклом, что бы отобрать только заблокированных, не суть..
Проблема возникла в том, что друзей больше чем 5 тысяч и я не могу понять как забрать оставшихся.

Пробовал такой запрос:
$members = json_decode(file_get_contents("https://api.vk.com/method/friends.get?user_id=436764&offset=9000&fields=name"),true);


Добавил "offset=" и вроде удалось вынуть другую часть, но не могу понять как их совместить с предыдущими пятью тысячами, или как этот запрос выполнить несколько раз и всё собрать воедино.
  • Вопрос задан
  • 1624 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега PHP
♬♬
Сделайте в цикле. С каждым разом увеличивайте offset на 5000 пока он не окажется больше возвращённого в поле count полного числа друзей. Не забывайте про лимит в 3 запроса в секунду.

Можно ещё заморочиться и запихать весь код в execute(), тогда из PHP последует единственный запрос, а цикл прокрутится на сторон ВК.
Ответ написан
@vshvydky
ваозьми модуль vk-io там есть свое апи над вк, позволяет за пару строк собирать потоки данных
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽