- Як створити Standalone-додаток ВКонтакте
- Встановлюємо пакет rvkstat
- Отримуємо токен розробника
- Як отримати дані з рекламного кабінету ВКонтакте в Power BI
- Як побудувати візуалізацію в Power BI
- висновки
Незважаючи на недавню блокування соцмережі в Індії, ВКонтакте продовжує залишатися величезним джерелом корисної інформації та статистики. У цій статті я розповім, як за допомогою написаного мною програмного пакета rvkstat і коннектора R отримати дані з API ВКонтакте в Microsoft Power BI.
Як використовувати проксі в скриптах R: обходимо блокування API Яндекса, Mail.ru і Вконтакте
Причому отримати ці дані можна навіть в країнах, де сама соцмережа офіційно заблокована .
Установка необхідного програмного забезпечення
Скачайте і встановіть актуальну версію мови R і Power BI . Це, мабуть, найпростіша частина роботи, як R так і Power BI при установці не вимагають від вас ніяких додаткових маніпуляцій і настройки - просто клікайте по кнопках Next і Ok.
Як створити Standalone-додаток ВКонтакте
Для роботи з API Вконтакте необхідно створити 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 і засекречений ключ додатки.
Встановлюємо пакет 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:».
Після цього в вашому робочому оточенні буде створено об'єкт 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 = <токен розробника, отриманий на попередньому кроці>)
Якщо ви вірно вказали значення для всіх аргументів функцій, відкриється діалогове вікно «Navigator», в якому можна вибрати дві таблиці:
- 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-платформ. Зв'язавши ці інструменти, ви легко побудуєте зручні дашборда і проаналізуєте свої рекламні кампанії і оголошення.
Що для цього потрібно:
- Завантажити та встановити актуальну версію мови R .
- Завантажити та встановити актуальну версію Microsoft Power BI .
- Створити Standalone-додаток ВКонтакте.
- встановити пакет rvkstat .
- Отримати токен для доступу до API ВКонтакте.
- За допомогою функцій доступних в пакеті rvkstat написати код для завантаження даних в Power BI.
- Побудувати зручний і інформативний dashboard.
Оригінал публікації на блозі Netpeak.