Ведение статистики репостов в социальной сети Вконтакте

Не так давно возникла необходимость узнать количество пользователей социальной сети Вконтакте, которые поделились записью со своими друзьями, иными словами сделали репост. Для этих целей есть приложение «Вирусоанализатор», однако подсчет в нем ограничен 100 репостами. Полоса прокрутки при этом доходит до самого низа страницы, а затем останавливается. А поскольку все уже были оповещены о начале конкурса за самое большое количество репостов на названную запись, то требовался альтернативный вариант для подсчета. Такого варианта не было.

Статистика репостов  ВК — Разрешение вопроса

Для разрешения проблемы потребовалось обратиться к API Вконтакте и поискать способы решения. Для этого не понадобилось разрабатывать standalone-приложение. Для этого нужно немного разбираться в компьютерах. Могу порекомендовать ремонт компьютеров в Долгопрудном — как профессионалов своего дела и хороших программистов. Проблема была решена с применением методов, которые не требуют access_token. Далее размещен ряд способов API, которые были использованы для разрешения проблемы:

  • likes.getList – позволяет получить конкретный ряд юзеров, разместивших запись у себя на странице или нажимали кнопку «Мне нравится»;
  • users.get – при помощи id или кратких имен юзеров дается информация о них;
  • wall.get – позволяет получать новости конкретного юзера.

Ведение статистики репостов в социальной сети Вконтакте

Положительные и отрицательные стороны репостов

Положительная сторона в том, что нет необходимости разрабатывать новое приложение.

А вот при детальном изучении вышеперечисленных методов API выявляется следующий недостаток – неудобство поиска конкретного репоста у пользователя. Способ wall.get позволяет получить лишь сто постов. Конечно такая функция имеет поддержку параметра offset, которые отвечает за смещение по новостям. Однако ограничимся обработкой 500 записей.

Возникающие проблемы

Требовалось извлечь информацию о записях и самих пользователях, которые разместили у себя в профиле нашу запись. Для того, чтобы вывести данный список применяется метод API likes.getList, обладающий параметром filter, а он в свою очередь принимает два вида:

  • likes – юзеры, кликнувшие кнопку «Мне нравится»;
  • copies – юзеры, разместившие требуемую запись у себя на странице.

Интересовал как раз последний параметр. Однако после некоторых операций выяснилось, что информация, которую удалось получить с помощью API, имеет расхождения с реальной.

К примеру, юзер, который разместил у себя запись не выявлялся при помощи метода likes.getList?filter=copies, однако присутствовал в списке тех, которые просто нажимали кнопку «Мне нравится». Затем был случай подобный этому, только наоборот.
Так что для большей точности выводимых результатов потребовалось обработать полный список – пользователей, которые лайкали запись, а также тех, которые жали кнопку «Поделиться».

В этой связи для показательных результатов необходимо обрабатывать полный список (те юзеры, которые кликнули и «Мне нравится», и «Поделиться»).

 

Использование данного класса дает возможность подсчитать количество репостов с пользовательской информацией. Этим же способом возможно подсчитывать лайки, однако потребуется применить ?filter=likes.
Это решение один из самых оптимальных вариантов подсчета данных, а также ведения статистики на сайтах, которые посвящены различным конкурсам и викторинам.

Оставить комментарий