Я новичок в использовании Google Analytics API и столкнулся с проблемой.
Я получил сообщение об ошибке (403). У пользователя нет аккаунта Google Analytics.
С моей учетной записью Google я могу просматривать страницы Google Anaytics, а по коду я просто не могу.
Вот мой код Я думаю, что неправильно использовал что-то в 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].', ';
}
используемая почта учетной записи службы недействительна. Вам нужно создать проект на console.developers.google.com и активировать API для Google Analytics. тогда вы получите доступ к своей учетной записи службы электронной почты, используйте его в своем коде.
просто подсказка, которую я заметил в вашем коде: установите $ projectid = первые 12 цифр, как в $ clientid, насколько я знаю, неправильно. $ projectid должен быть равен (перейдите в свой аккаунт Google Analytics, возьмите посмотрите на URL, который вы заметите, есть сегмент, выглядит как / a39569200w68518820p70543179 / возьмите числа после буквы ‘p’ в этом случае числа 70543179 и установите их в качестве значения для переменной $ projectid) я не знаю, решит ли это вашу проблему но я думаю, ты должен знать ..