Донецкий техникум промышленной автоматики

Як зв'язати ВКонтакте і Power BI, R пакет rvkstat. - Alexey Seleznev blog

  1. Як створити Standalone-додаток ВКонтакте
  2. Встановлюємо пакет rvkstat
  3. Отримуємо токен розробника
  4. Як отримати дані з рекламного кабінету ВКонтакте в Power BI
  5. Як побудувати візуалізацію в Power BI
  6. висновки

Незважаючи на недавню блокування соцмережі в Індії, ВКонтакте продовжує залишатися величезним джерелом корисної інформації та статистики. У цій статті я розповім, як за допомогою написаного мною програмного пакета rvkstat і коннектора R отримати дані з API ВКонтакте в Microsoft Power BI.

Як використовувати проксі в скриптах R: обходимо блокування API Яндекса, Mail.ru і Вконтакте

Причому отримати ці дані можна навіть в країнах, де сама соцмережа офіційно заблокована .

Незважаючи на недавню блокування соцмережі в Індії, ВКонтакте продовжує залишатися величезним джерелом корисної інформації та статистики

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

Скачайте і встановіть актуальну версію мови 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 і засекречений ключ додатки.

Далі для отримання токена розробника вам знадобиться ID і засекречений ключ додатки

Встановлюємо пакет rvkstat

Пакет rvkstat є R-клієнтом для роботи з API ВКонтакте. Його можна встановити з мого сховища на GitHub за допомогою наведеного нижче коду в R.

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

Якщо на даному етапі ви все зробили правильно, в R-консолі побачите повідомлення про те, що пакет rvkstat успішно встановлений:

Отримуємо токен розробника

Наступний крок - отримання токена доступу до API ВКонтакте. Для цього необхідно підключити пакет rvkstat і за допомогою функції vkAuth отримати токен розробника.

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

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

Після запуску функції відкриється вікно браузера, в якому потрібно дозволити програмі всі необхідні для роботи дозволи:

Після запуску функції відкриється вікно браузера, в якому потрібно дозволити програмі всі необхідні для роботи дозволи:

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

Вам необхідно скопіювати його і вставити в R-консоль у відповідь на запит «Enter code from URL:»

Після цього в вашому робочому оточенні буде створено об'єкт myCredential, саме в ньому тепер зберігається токен доступу до API.

Подивитися його можна за допомогою коду:

myCredential $ access_token

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

Для зручності скопіюйте з консолі отриманий токен в блокнот

Як отримати дані з рекламного кабінету ВКонтакте в Power BI

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

У діалоговому вікні переходимо до групи конекторів «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 = <токен розробника, отриманий на попередньому кроці>)

Date (), access_token = <токен розробника, отриманий на попередньому кроці>)

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

  • camp - довідник рекламних кампаній;
  • vk_stat_by_camp - статистика по рекламним кампаніям.

camp - довідник рекламних кампаній;   vk_stat_by_camp - статистика по рекламним кампаніям

Після цього в 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 одна з найпопулярніших в світі BI-платформ. Зв'язавши ці інструменти, ви легко побудуєте зручні дашборда і проаналізуєте свої рекламні кампанії і оголошення.

Що для цього потрібно:

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

Оригінал публікації на блозі Netpeak.