PHP: Получаем данные из Google Analytics

Иногда требуется показать данные из Google Analytics анонимным пользователям. Например, соорудить красивую статистику как на хабре или вывести счётчик посещений для конкретной страницы.

Реализуется это не совсем очевидно. В официальной документации если и описано, то очень и очень расплывчато. Хорошо, что есть добрые люди на StackOverflow. Итак, решение.

  1. Идём в консоль API Google. Создаём новое приложение.
  2. В меню выбираем «services» и включаем «Analytics API».
  3. Идём в API Access, жмём «Create an OAuth 2.0 client ID»:
    • Вводим имя приложения, загружаем логотип, жмём «next».
    • Выбираем «Service account», «Create client ID».
    • Загружаем себе файл секретного ключа. Складываем, например, в libs/google/keys.
  4. Возвращаемся в «API Access». Появился блок «Service account».
  5. Берём оттуда «Email address», идём в админку аккаунта Google Analytics, добавляем email в качестве пользователя аккаунта.
  6. Сливаем последнюю версию Google API PHP client, складываем в проект содержимое src. Например, в libs/google.
  7. Пишем код.

<?php
require_once('libs/google/Google_Client.php');
require_once('libs/google/contrib/Google_AnalyticsService.php');
 
$client = new Google_Client();
$client->setApplicationName('My cool application');
 
$client->setAssertionCredentials(
  new Google_AssertionCredentials(
  // тот самый email, который мы добавляли в analytics
  '823387931764@developer.gserviceaccount.com',
  array('https://www.googleapis.com/auth/analytics.readonly'),
  // полный путь к загруженному секретному ключу
  file_get_contents('libs/google/keys/402d656da7be33b9b8dc96f80844fe9e72e0fc42-privatekey.p12')
));
 
// Client ID со страницы API Access
$client->setClientId('823387931764.apps.googleusercontent.com');
$client->setAccessType('offline_access');
 
$service = new Google_AnalyticsService($client);
 
// получаем количество уникальных посетителей конкретного профиля с 2009 года
$data = $service->data_ga->get(
  'ga:20342384', '2009-01-01', date('Y-m-d'), 'ga:visitors', array(
  'dimensions' => 'ga:pagePath',
  'filters' => 'ga:pagePath==/user/mihdan/',
));
 
print_r($data);
?>

В процессе работы с API очень полезны Google Analytics Query Explorer и полное описание API.

Ссылки

Сатья любезно предоставлена Александром Макаровым (Sam Dark)

Источник: https://www.kobzarev.com/programming/php-get-data-from-google-analytics/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: