G|Translate: English EN Français FR Deutsch DE Italiano IT Русский RU Español ES

Как вывести число подписчиков группы VK на своем сайте

5/5 - (1 голос)

Выводим число подписчиков группы VK на сайте

Как вывести число подписчиков группы VK на своем сайте

90% советов в интернете уже не работают :)

API VKontakte постоянно меняется. 

Теперь для получения информации о группе (не только счетчик) надо:

  • номер группы (ID group)
  • ACCESS token group
  • версия API должна быть обязательно указана в запросе

Если чего-то не хватает в запросе  — конструкция работать не будет

Базовые параметры запросов 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 — это обычная текстовая строка вида

Как вывести число подписчиков группы VK на своем сайте

Можно обойтись без преобразования в массив (а то может потом еще ответ JSON поменяют) — а просто вытащить часть строки

"members_count":184,

и уже из нее вытащить цифру 184 средствами PHP для работы со строками.

Где найти VKontakte ID group и ACCESS token?

Если Вы не задавали текстовый идентификатор группы — ID group можно увидеть прямо в URL браузера 

https://vk.com/public123456789

цифры после «public» и будут ID group

Если Вы добавили текстовый идентификатор группы — то URL будет вида

https://vk.com/seotable_ru

и придется использовать другой метод

Переходим в «Управление» — > «Настройки»

Как вывести число подписчиков группы VK на своем сайте

Получаем ACCESS token

Он генерируется при запросе и потом его нигде посмотреть нельзя

https://dev.vk.com/api/access-token/getting-started

Как вывести число подписчиков группы VK на своем сайте

Переходим в «Управление» — > «Настройки» — > «Работа с API»

Подпишитесь в VKontakte и Вы будете видеть новости сайта в ленте - нажмите кнопку -->>>
В группе уже 194

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла




Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)

В Вашем браузере должна быть настроена обработка ссылок mailto

site_post@bk.ru

или просто скопируйте адрес e-mail



Почитать в разделе

Социальные сети и SEO

Как социальные сети помогают продвинуть сайт? Посмотрите на свой трафик в метрике. Что обычно видим: прямые заходы переходы с поиска переходы с рекламы переходы с социальных сетей Ну и что? Понятно, что если будут переходы с социальных сетей - это хорошо. Но как это повлияет на продвижение сайта? Есть такой параметр - новые посетители. Их обычно под 90%. И они всё обычно одноразовые. Нашел через поиск, зашел на сайт, посмотрел, ушел. Как их сделать многоразовыми посетителями? Что бы они при появлении новых статей/страниц заходили на сайт? Есть разные варианты: сделать подписку на сайте (т.е. пользователь регистрируется на сайте) пользователь оставляет свой email и...
(Читать полностью...)

  • Всего статей в разделе: 4
  • Показано статей в списке: 3
  • Сортировка: название по алфавиту

Создание группы в Одноклассники

Публичных страниц нет, есть только группы. Но нам для сайта не критично - только отключим комментарии и возможность писать участникам группы. Создаем группу Заходим в свой аккаунт (он уже должен быть) и переходим в раздел "Группы" Выбираем "Создать группу" Нас интересует "Группа по интересам" Группу называем также, как и адрес сайта - потом будут посты как раз от этой группы с показом адреса сайта. В данном случае seotable.ru Далее фото группы и обложка. С обложкой сразу не понятно - система ругается практически на все файлы. Но там в недрах есть рекомендация - "Рекомендуемый размер: 1944 x 600. Допустимые форматы: JPG, PNG." Сразу это не...
(Читать полностью...)

Создание страницы/группы в Facebook

В Facebook у Вас может быть: профиль страница (нужен профиль) группа (нужен профиль) Вот тут подробнее https://www.facebook.com/help/337881706729661 Соответственно, если Вам нужна "копия" сайта в социальной сети - лучше создать страницу.  На страницу можно подписаться или поставить лайк ("нравится"). На странице сможете размещать информацию только Вы. UPD. ВАЖНО -  в свете последних изменений (а на ФБ постоянно что-то меняется) на странице могут размещать посты  и посетители (как в группе). Это можно явно запретить в настройках. Поставив "Нравится" Странице Facebook или подписавшись на нее, человек будет видеть обновления этой Страницы в своей...
(Читать полностью...)

Создание страницы/группы в VKontakte

Создаем сообщество в Vkontakte Тут их может быть 6 вариантов бизнес тематическое сообщество бренд или организация группа по интересам публичная страница мероприятие   Публичная страница ("паблик") VKontakte: контент полностью открыт для всех пользователей социальной сети размещать посты может только владелец (или администратор) нет возможности приглашать участников Группа VKontakte: ограничения показа контента, существует три типа группы: открытая (контент доступен для всех пользователей), закрытая (добавление в группу осуществляется по пользовательской заявке), частная (вступление в группу возможно только по приглашению...
(Читать полностью...)