Выводим число подписчиков группы VK на сайте
90% советов в интернете уже не работают :)
API VKontakte постоянно меняется.
Теперь для получения информации о группе (не только счетчик) надо:
- номер группы (ID group)
- ACCESS token group
- версия API должна быть обязательно указана в запросе
Если чего-то не хватает в запросе – конструкция работать не будет
ВАЖНО: если сайт имеет хорошую посещаемость – данный метод работать не будет из-за лимитов запросов (точнее будет – но не долго). Будет вместо информации возвращаться ошибка
“error_code”:29,”error_msg”:”Rate limit reached”
Базовые параметры запросов VK
https://dev.vk.com/api/api-requests
Запрос состоит из нескольких частей:
https://api.vk.com/method/METHOD?PARAMS&access_token=TOKEN&v=V
METHOD
(обязательно) — название метода API, к которому вы хотите обратиться.PARAMS
(не обязательно) — входные параметры соответствующего метода API, последовательность парname=value
, разделенных амперсандомTOKEN
(обязательно) — ключ доступаV
(обязательно) — используемая версия API. Использование этого параметра применяет некоторые изменения в формате ответа различных методов.
Сейчас актуальная версия API — 5.131. Этот параметр следует передавать со всеми запросами.
Список версий VK API
https://dev.vk.com/reference/versions
Да, версия 5.131 более новая, чем 5.82 – интересная нумерация.
Возврат результата запроса в виде JSON
{ "response": [ { "id": 210700286, "first_name": "Lindsey", "last_name": "Stirling", "bdate": "21.9.1986" } ] }
Возвращается это всё в виде текстовой строки JSON, которую можно превратить в массив или объект с помощью PHP json_decode() с параметрами:
- json строка (string) для декодирования – эта функция работает только со строками в UTF-8 кодировке
- assoc – Если TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы.
- depth – Указывает глубину рекурсии.
- options – Битовая маска опций декодирования JSON. В настоящий момент поддерживается только JSON_BIGINT_AS_STRING (по умолчанию большие целые числа приводятся к числам с плавающей запятой (float))
В данном случае двумерный массив с доступом к элементами вида
echo $array['response']['first_name'];
Но вся эта красота для групп работает по другому
Запрос информации о группе VKONTAKTE
Список параметров запроса ниже
https://dev.vk.com/method/groups.getById
ВАЖНО: Указываются идентификаторы или короткие имена сообществ. Максимальное число идентификаторов — 500. В переводе на русский – в одном запросе можно получить ответ сразу по 500 группам/страницам.
И внезапно – массив после преобразования JSON становится ТРЕХМЕРНЫМ
( "response" [ "0" [ "id": XXXXXXXXX "members_count":184 "name": XXXXXXXXXXX "screen_name: XXXXXXXXXX "is_closed": 0 "type": page [ [ )
Откуда там 0 на втором уровне?
Это просто ответ по первой группе из запроса. Соответственно может быть JSON с элементами от 0 до 499
Готовый скрипт PHP для запроса числа подписчиков в группе
Ограничения:
- с ключом доступа пользователя можно обращаться не чаще 3 раз в секунду
- для ключа доступа сообщества ограничение составляет 20 запросов в секунду
Итоговый вариант скрипта такой
$ver_api = '5.131'; $gid = 'XXXXXXXXXXXXXX'; $token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; $from_file = file_get_contents('https://api.vk.com/method/groups.getById?group_id='.$gid.'&fields=members_count&access_token='.$token.'&v='.$ver_api); $array = json_decode($from_file, TRUE); //преобразование в массив echo 'В группе уже <b>'.$array['response'][0]['members_count'].'</b>';;
Вытаскиваем элемент из трехмерного массива, второй параметр [0] для варианта запроса только по одной группе.
$array['response'][0]['members_count']
В принципе ответ API VK – это обычная текстовая строка вида
Можно обойтись без преобразования в массив (а то может потом еще ответ JSON поменяют) – а просто вытащить часть строки
"members_count":184,
и уже из нее вытащить цифру 184 средствами PHP для работы со строками.
Где найти VKontakte ID group и ACCESS token?
Если Вы не задавали текстовый идентификатор группы – ID group можно увидеть прямо в URL браузера
https://vk.com/public123456789
цифры после “public” и будут ID group
Если Вы добавили текстовый идентификатор группы – то URL будет вида
и придется использовать другой метод
Переходим в “Управление” – > “Настройки”
Получаем ACCESS token
Он генерируется при запросе и потом его нигде посмотреть нельзя
https://dev.vk.com/api/access-token/getting-started
Переходим в “Управление” – > “Настройки” – > “Работа с API”
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Запрос на размещение Вашего рекламного поста (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Почитать в разделе
Социальные сети и SEO

(Читать полностью...)
- Всего статей в разделе: 4
- Показано статей в списке: 3
- Сортировка: название по алфавиту
Создание группы в Одноклассники

(Читать полностью...)
Создание страницы/группы в Facebook

(Читать полностью...)
Создание страницы/группы в VKontakte

(Читать полностью...)