Аналитика

Как перенести данные из ВКонтакте в Power BI

Несмотря на недавнюю блокировку соцсети в Индии, ВКонтакте продолжает оставаться огромным источником полезной информации и статистики. В этой статье я расскажу, как с помощью написанного мной программного пакета rvkstat и коннектора  R получить данные из API ВКонтакте в Microsoft Power BI.

Причем получить эти данные можно даже в странах, где сама соцсеть официально заблокирована.

Установка необходимого программного обеспечения

Скачайте и установите актуальную версию языка R и Power BI. Это, пожалуй, самая простая часть работы, как R так и Power BI при установке не требуют от вас никаких дополнительных манипуляций и настройки — просто кликайте по кнопкам Next и Ok.

Как создать Standalone-приложение ВКонтакте

Для работы с API Вконтакте необходимо создать Standalone-приложение, непосредственно в интерфейсе социальной сети.

Для создания приложения перейдите по этой ссылке и выберите Standalone-приложение.

Для создания приложения перейдите по этой ссылке и выберите Standalone-приложение

Перейдите в настройки только что созданного приложения и заполните следующие поля следующим образом:

Адрес сайта: https://selesnow.github.io/rvkstat/getCode/get_code.html
Базовый домен: selesnow.github.io
Доверенные redirect URI: https://selesnow.github.io/rvkstat/getCode/get_code.html
https://selesnow.github.io/rvkstat/getCode/get_token.html

Далее для получения токена разработчика вам понадобится ID и засекреченный ключ приложения.

Доверенные редирект URL

Устанавливаем пакет rvkstat

Пакет rvkstat — R-клиент для работы с API ВКонтакте. Его можно установить из моего репозитория на GitHub с помощью приведенного ниже кода в R.

if(!"devtools" %in% installed.packages()[,1]){install.packages("devtools")}
devtools::install_github('selesnow/rvkstat')

Если на данном этапе вы всё сделали правильно, в R-консоли увидите сообщение о том, что пакет rvkstat успешно установлен:

Если на данном этапе вы всё сделали правильно, в R-консоли увидите сообщение о том, что пакет rvkstat успешно установлен

Получаем токен разработчика

Следующий шаг — получение токена доступа к API ВКонтакте. Для этого необходимо подключить пакет rvkstat и с помощью функции vkAuth получить токен разработчика.

Для этого вставьте в R-консоль следующий код:

myCredential <- vkAuth(app_id = <ID Вашего Приложения>, app_secret = <Защищённый Ключ Вашего Приложения>)

После запуска функции откроется окно браузера, в котором необходимо предоставить приложению все необходимые для работы разрешения:

Нажмите «Разрешить»

Затем откроется окно браузера, в котором будет ваш код доступа. Вам необходимо скопировать его и вставить в R-консоль в ответ на запрос «Enter code from URL:».

После чего откроется окно браузера, в котором будет ваш код доступа

Вам необходимо скопировать его и вставить в R-консоль в ответ на запрос

После этого в вашем рабочем окружении будет создан объект myCredential, именно в нём теперь хранится токен доступа к API.

Посмотреть его можно с помощью кода:

myCredential$access_token

Для удобства скопируйте из консоли полученный токен в блокнот.

Для удобства скопируйте из консоли полученный токен в блокнот

Как получить данные из рекламного кабинета ВКонтакте в Power BI

На этом шаге можно смело закрывать R-консоль и открывать Power BI. Для загрузки данных жмите на «Get Data».

На этом шаге можно смело закрывать R-консоль и открывать Power BI. Для загрузки данных жмите на «Get Data»

В открывшемся диалоговом окне переходим в группу коннекторов «Other», выбирайте «R script» и нажимайте «Connect».

В открывшемся диалоговом окне переходим в группу коннекторов «Other», выбирайте «R script» и нажимайте «Connect»

Далее в диалоговое окно «R Script» вставьте R-код, подставив в аргументы функций свои значения.

#Подключаем пакет
library(rvkstat)

##Получаем список рекламных кампаний
camp <- vkGetAdCampaigns(account_id = <id вашего рекламного кабинета>,
                        access_token = <токен разработчика, полученный на прошлом шаге>)

##Получаем статистику по рекламным кампаниям по дням
vk_stat_by_campaign <- vkGetAdStatistics(account_id = <id вашего рекламного кабинета>,
                                        ids_type = "campaign",
                                        ids = camp$id ,
                                        period = "day",
                                        date_from = "2010-01-01",
                                        date_to =Sys.Date(),
                                        access_token = <токен разработчика, полученный на прошлом шаге>)

Далее в диалоговое окно «R Script» вставьте R-код, подставив в аргументы функций свои значения

Если вы верно указали значения для всех аргументов функций, откроется диалоговое окно «Navigator», в котором можно выбрать две таблицы:

  • camp — справочник рекламных кампаний;
  • vk_stat_by_camp — статистика по рекламным кампаниям.

Если вы верно указали значения для всех аргументов функций, откроется диалоговое окно «Navigator», в котором можно выбрать две таблицы

После этого в Power BI будут загружены обе таблицы, и между таблицами будет установлена связь camp.id = vk_stat_by_camp.id.

Чтобы получить статистику в разрезе рекламных объявлений, необходимо в аргументе ids_type указать значение «ad» и в аргумент ids передать номера объявлений.

Например, можете воспользоваться следующим кодом:

##Подключаем пакет
library(rvkstat)
## Получаем список рекламных кампаний
ads <- vkGetAds(account_id = account_id, access_token = my_tok$access_token)
## Получаем статистику по объявлениям
vk_stat_by_ads <- vkGetAdStatistics(account_id = 1,
                                   ids_type = "ad",
                                   ids = ads$id ,
                                   period = "month",
                                   date_from = "2010-01-01",
                                   date_to =Sys.Date(),
                                   access_token = <токен разработчика полученный на прошлом шаге>))

Для загрузки общей статистики по рекламному кабинету необходимо передать в аргумент ids_type значение «office», а в аргумент ids передать номер рекламного кабинета.

По указанному выше примеру можно получить и другую статистику из рекламного кабинета и сообществ ВКонтакте.

Ловите список доступных функций для загрузки статистики из рекламного кабинета:

  • vkGetAdCategories — возможные тематики рекламных объявлений и их категорий;
  • vkGetAdAccounts — список доступных рекламных кабинетов;
  • vkGetAdClients — список клиентов из агентского аккаунта;
  • vkGetAds — список объявлений;
  • vkGetAdCampaigns — список рекламных кампаний;
  • vkGetAdStatistics — статистика показателей эффективности по рекламным объявлениям, кампаниям, клиентам или всему кабинету;
  • vkGetAdCityStats — статистика охвата аудитории по рекламным кампаниям или объявления в разрезе городов;
  • vkGetAdGenderStats — статистика охвата аудитории по рекламным кампаниям или объявления в разрезе пола;
  • vkGetAdAgeStats — статистика охвата аудитории по рекламным кампаниям или объявлениям в разрезе возраста;
  • vkGetAdGenderAgeStats — статистика охвата аудитории по рекламным кампаниям или объявлениям в разрезе пола и возраста;
  • vkGetAdBudget — остаток средств из рекламного кабинета;
  • vkGetAdPostsReach — подробная статистика по охвату рекламных записей из объявлений и кампаний для продвижения записей сообщества.

Подробную справку с примерами кода и полным описанием полей, которые будут загружены в результате работы функции в пакете rvkstat, можно получить с помощью команды help в R-консоли:

help("vkGetAdStatistics")

Полный список функций можно получить с помощью команды help(package  = "rvkstat"), либо перейдя в ReadMe репозитория пакета по ссылке.

Как построить визуализацию в Power BI

После загрузки данных в Power BI будет создано две таблицы:

  • camp — справочник рекламных кампаний;
  • vk_stat_by_campaign — статистика по рекламным кампаниям.

Между кампаниями будет автоматически создана связь по полям id.

На данном шаге данные уже загружены в Power BI, вам остаётся только построить нужные графики и таблицы

Остаётся только построить нужные графики и таблицы.

остаётся только построить нужные графики и таблицы

Выводы

ВКонтакте — одна из самых популярных социальных сетей в СНГ, а Power BI одна из самых популярных в мире BI-платформ. Связав эти инструменты, вы легко построите удобные дашборды и проанализируете свои рекламные кампании и объявления.

Что для этого нужно:

  1. Скачать и установить актуальную версию языка R.
  2. Скачать и установить актуальную версию Microsoft Power BI.
  3. Создать Standalone-приложение ВКонтакте.
  4. Установить пакет rvkstat.
  5. Получить токен для доступа к API ВКонтакте.
  6. С помощью функций доступных в пакете rvkstat написать код для загрузки данных в Power BI.
  7. Построить удобный и информативный dashboard.

Также читайте пост «Как загрузить статистику рекламных кампаний из API Facebook с помощью языка R».

70
18
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (75 )

Последние комментарии

    Чтобы оставить комментарий, нужно войти

    Подписаться

    на самую полезную рассылку по интернет-маркетингу

    Самое

    обсуждаемое популярное читаемое

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