2014-10-23 2 views
0

Я новичок в использовании API Google Analytics, и у меня возникла проблема. У меня ошибка, обозначенная как (403) У пользователя нет учетной записи Google Analytics. С моей учетной записью google я могу просматривать страницы google anaytics и по коду, я просто не могу.Как настроить службу учетной записи Google Analytics?

Вот мой код. я думаю, что я неправильно использовал что-то в 6 первых строках, но что? Любая идея приветствуется.

$scope = "https://www.googleapis.com/auth/analytics"; 
$client_id = "[12 numbers]-[32 letters/numbers].apps.googleusercontent.com"; 
$service_account_name = "[same 12 numbers]-[same 32 letters/numbers] @developer.gserviceaccount.com"; 
$key_file_location = "./google-account-service.p12"; 
$projectId = "[same 12 numbers]"; 
$projectName = "[my project name defined in console.developers.google.com]"; 

$client = new Google_Client(); 
$client->setApplicationName($projectName); 

$key = file_get_contents($key_file_location); 
$cred = new Google_Auth_AssertionCredentials($service_account_name, array($scope), $key); 

$client->setAssertionCredentials($cred); 

if($client->getAuth()->isAccessTokenExpired()){ 
    $client->getAuth()->refreshTokenWithAssertion($cred); 
} 

$client->getAccessToken(); 

$service = new Google_Service_Analytics($client); 

// metrics 
$_params[] = 'date'; 
$_params[] = 'date_year'; 
$_params[] = 'date_month'; 
$_params[] = 'date_day'; 
// dimensions 
$_params[] = 'visits'; 
$_params[] = 'pageviews'; 
$_params[] = 'bounces'; 
$_params[] = 'entrance_bounce_rate'; 
$_params[] = 'visit_bounce_rate'; 
$_params[] = 'avg_time_on_site'; 

$from = date('Y-m-d', time()-2*24*60*60); // 2 days 
$to = date('Y-m-d'); // today 

$metrics = 'ga:visits,ga:pageviews,ga:bounces,ga:entranceBounceRate,ga:visitBounceRate,ga:avgTimeOnSite'; 
$dimensions = 'ga:date,ga:year,ga:month,ga:day'; 
$data = $service->data_ga->get('ga:'.$projectId, $from, $to, $metrics, array('dimensions' => $dimensions)); 

foreach($data['rows'] as $row) { 
    $dataRow = array(); 
    foreach($_params as $colNr => $column) echo $column . ': '.$row[$colNr].', '; 
} 

ответ

0

Неверная почтовая служба учетной записи службы. Вам нужно создать проект на console.developers.google.com и активировать api для Google Analytics. то вы получите доступ к вашей учетной записи службы, используя ее в своем коде.

+0

Спасибо за ваш ответ, Я создал проект на https://console.developers.google.com/project, включил GA в API, создал oauth2 клиент типа «учетная запись службы» в меню «учетные данные», загрузите файл p12, скопируйте идентификатор клиента & адрес электронной почты в моем нижнем коде. Что я забыл сделать? – khayyam90

0

только что я заметил в вашем коде и установил $ projectid = первый 12-й номер, как в $ clientid, насколько я знаю неправильно. $ Projectid должен быть равен (перейдите в свою аналитику google учетной записи, посмотрите на URL-адрес, который вы заметите, сегмент выглядит как/a39569200w68518820p70543179/возьмите числа после буквы «p» в этом случае номера 70543179 и установите их как значение для переменной $ projectid), я не знаю, если он решает вашу проблему, но я думаю, что вы должны знать ..

Смежные вопросы