Иногда требуется показать данные из Google Analytics анонимным пользователям. Например, соорудить красивую статистику как на хабре или вывести счётчик посещений для конкретной страницы.
Реализуется это не совсем очевидно. В официальной документации если и описано, то очень и очень расплывчато. Хорошо, что есть добрые люди на StackOverflow. Итак, решение.
- Идём в консоль API Google. Создаём новое приложение.
- В меню выбираем «services» и включаем «Analytics API».
- Идём в API Access, жмём «Create an OAuth 2.0 client ID»:
- Вводим имя приложения, загружаем логотип, жмём «next».
- Выбираем «Service account», «Create client ID».
- Загружаем себе файл секретного ключа. Складываем, например, в
libs/google/keys
.
- Возвращаемся в «API Access». Появился блок «Service account».
- Берём оттуда «Email address», идём в админку аккаунта Google Analytics, добавляем email в качестве пользователя аккаунта.
- Сливаем последнюю версию Google API PHP client, складываем в проект содержимое
src
. Например, вlibs/google
. - Пишем код.
<?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/