Я пытаюсь получить доступ к своим данным Google Analytics, используя служебную учетную запись. Я создал его в консоли разработчиков и включил Google Analytics API в той же консоли, но каким-то образом мне не удается получить данные из API.
Я использовал сценарий на эта страница.
Мой код выглядит следующим образом:
<?php
$keyfile = 'google/key.p12';
// Initialise the Google Client object
$client = new Google_Client();
$client->setApplicationName('MyNAME');
$client->setAssertionCredentials(
new Google_AssertionCredentials(
'[email protected]', array('https://www.googleapis.com/auth/analytics.readonly'), file_get_contents($keyfile)
)
);
$client->setClientId('XXXX.apps.googleusercontent.com');
$client->setAccessType('offline_access');
$analytics = new Google_AnalyticsService($client);
$analytics_id = 'ga:UA-XXXXXX-1'; // http://productforums.google.com/forum/#!topic/analytics/dRuAr1K4waI
// get data for the last 2 weeks
$lastWeek = date('Y-m-d', strtotime('-2 week'));
$today = date('Y-m-d');
// Test connection
try {
$results = $analytics->data_ga->get($analytics_id, $lastWeek, $today, 'ga:visits');
echo '<b>Number of visits this week:</b> ';
echo $results['totalsForAllResults']['ga:visits'];
} catch (Exception $e) {
echo 'There was an error : - ' . $e->getMessage();
}
?>
Примечание: если он говорит «XXXX», это означает, что я удалил часть строки в целях безопасности; правильные строки в моем настоящем сценарии.
Должно либо отображаться количество пользователей, либо ошибка, но я просто получаю пустой экран. Я уверен, что URL к ключевому файлу правильный.
У кого-нибудь есть предложения как это исправить? Это будет высоко ценится.
Похоже, вы используете идентификатор вашей собственности (UA-XXXXX-1) вместо идентификатора вашего просмотра (профиля). Если вы идете в Google Analytics Query Explorer это позволяет легко увидеть, какой у вас фактический идентификатор представления ga: XXXX (профиль). Любое данное свойство может иметь несколько представлений (профилей). Это справочное руководство дает хорошее описание параметров, которые требует этот запрос.
Других решений пока нет …