Vk api список групп

Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.

Без использования метода execute, процесс получения участников группы с аудиторией в 4 000 000 человек займет примерно около 22 минут, и нам нужно будет выполнить около 4 000 запросов к API. С помощью метода execute мы ускорим этот процесс примерно до 40 секунд и выполним всего около 160 запросов.

I. Немного о execute

Это универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.
Делается обычный запрос как и на все другие методы, но в параметрах нужно передать code написанный на VKScript.

Android обучение. API vk.com Урок #7 Получение списка постов из группы вконтакте

Что поддерживает VKScript и что это?

Это язык похожий на JavaSсript или ActionScript. Алгоритм должен завершаться командой return %выражение%. Операторы должны быть разделены точкой с запятой.

С помощью этого метода, мы можем получить результат нескольких методов за один запрос API.

II. Реализация на javascript

Чтобы работать с Open Api нам нужно подключить библиотеку OpenApi.

Еще по теме:  Вконтакте рейтинг 1 3

Пройдем авторизацию приложения VK и объявим массив:

VK.init(< apiId: 4235235 // ID вашего приложения VK >); var membersGroups = []; // массив участников группы

Получим информацию о группе:

// получаем информацию о группе и её участников function getMembers(group_id) < VK.Api.call(‘groups.getById’, , function(r) < if(r.response) < $(‘.group_info’) .html(‘


‘ + r.response[0].name + ‘
Участников: ‘ + r.response[0].members_count); getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups > >); >

Чтобы получить участников группы мы будем использовать execute, за один запрос мы получим 25 000 участников. Execute позволяет сделать до 25 запросов описанных с помощью языка VKScript. В параметре code нам нужно передать алгоритм на языке VKScript. Я это сделал следующим образом.

VK.init(< apiId: 6456476 // ID вашего приложения VK >); var membersGroups = []; // массив участников группы getMembers(30666517); // получаем информацию о группе и её участников function getMembers(group_id) < VK.Api.call(‘groups.getById’, , function(r) < if(r.response) < $(‘.group_info’) .html(‘


‘ + r.response[0].name + ‘
Участников: ‘ + r.response[0].members_count); getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups > >); > // получаем участников группы, members_count — количество участников function getMembers20k(group_id, members_count) < var code = ‘var members = API.groups.getMembers().items;’ // делаем первый запрос и создаем массив + ‘var offset = 1000;’ // это сдвиг по участникам группы + ‘while (offset < 25000 (offset + ‘ + membersGroups.length + ‘) < ‘ + members_count + ‘)’ // пока не получили 20000 и не прошлись по всем участникам + ‘).items;’ // сдвиг участников на offset + мощность массива + ‘offset = offset + 1000;’ // увеличиваем сдвиг на 1000 + ‘>;’ + ‘return members;’; // вернуть массив members VK.Api.call(«execute», , function(data) < if (data.response) < membersGroups = membersGroups.concat(JSON.parse(«[» + data.response + «]»)); // запишем это в массив $(‘.member_ids’).html(‘Загрузка: ‘ + membersGroups.length + ‘/’ + members_count); if (members_count >membersGroups.length) // если еще не всех участников получили setTimeout(function() < getMembers20k(group_id, members_count); >, 333); // задержка 0.333 с. после чего запустим еще раз else // если конец то alert(‘Ура тест закончен! В массиве membersGroups теперь ‘ + membersGroups.length + ‘ элементов.’); > else < alert(data.error.error_msg); // в случае ошибки выведем её >>); >
getMembers(IDгруппы);

Еще по теме:  Как удалить альбом Вконтакте фотографии на моей стене

Исходники и примеры

image

Парсер открытых групп Вконтакте. VK API groups.search получаем список групп и сохраняем в БД MySQL

На случай если слишком много человек в раз попытается выполнять запросы с одного приложения VK, выглядело так:

Источник: savepearlharbor.com

Вывод списка групп

fields:»title» — это что?
Вот здесь описание метода groups.get http://vk.com/developers.php?oid=-1p=% . 0%BF%D0%BF нет параметра title.

Читай документацию и смотри какой ответ возвращает сервер. Смотри какие данные возвращает сервер и работай с ними. В слепую будешь долго не понимать почему не работает как ты хочешь. Как ты собираешься вытаскивать groups_data.title, если там нет этих данных? Используй Charles.

Источник: flapps.ru

VK API groups.getById узнаем информацию о сообществе из скрипта php

VK API groups.getById узнаем информацию о сообществе из скрипта php
——————————————————————————-
Наш канал поможет вам выучить то, что вы не могли
запомнить с другими, мы стараемся сделать процесс
обучения максимально простым и быстрым в котором
даже не требуется говорить, так как вы смотрите и
улавливаете посыл с самой первой секунды. Мы делаем
то что поможет вашей дальнейшей карьере разработчика,
от самого начала до конца нет границ, всегда есть то,
что можно рассказать на пальцах так чтоб ты понял и
остался доволен тем что не зря провел время за
просмотром очередного урока.
Готовые примеры скриптов наш не стандартный подход и
техника разработки помогут от стара до мала.
———————————-

Поделиться

Web Samodelkin

Всё мое свободное время занимает веб разработка, фотошоп и многое другое. Вот наверное и пришло время поделиться всем накопленным багажом знаний с вами. Кто то умеет а кто то нет, буду рад если мои видео помогут кому то разобраться с непроходимыми дебрями веба, А именно — php, mysql, jQuery, html, css. html, css, js, jquery, javascript, php, mysql, vk, api, vk-api, вк, апи, видео, уроки, видеоуроки, веб, веб разработка, верстка, создание сайтов, it, языки программирования, уроки программирования для начинающих, javascript jquery, jquery js, jquery примеры, программирование, основы программирования для начинающих, курсы программирования, веб сайт, веб дизайн

Еще по теме:  Взлом ВК как сделать

Источник: academiait.ru

Рейтинг
( Пока оценок нет )
Загрузка ...