Время для прочтения: 1 мин. 29 сек.

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)

Пошерить
Плюсануть
Отправить
Вотсап

Смотрите также

Комментарии