PHP API Google Analytics – простой пример

Я пытаюсь установить базовый пример использования Google Analytics с этой библиотекой: https://github.com/google/google-apiphp-client

Для стартера у меня есть:

<?php require_once 'Google/Client.php'; require_once 'Google/Service/Analytics.php'; $client = new Google_Client(); $client->setApplicationName("Client_Library_Examples"); $client->setDeveloperKey("MY_SECRET_API"); //security measures $service = new Google_Service_Analytics($client); $results = $service->data_ga; echo '<pre>'; print_r($results); echo '</pre>'; 

В: Как получить данные из Google Analytics из этого запроса?

 /* https://www.googleapis.com/analytics/v3/data/ ga?ids=ga%123456 &dimensions=ga%3Acampaign &metrics=ga%3Atransactions &start-date=2013-12-25 &end-date=2014-01-08 &max-results=50 */ 

 $client->setDeveloperKey("MY_SECRET_API"); 

Прежде всего, поскольку, насколько я понял, это не будет работать для аутентификации, вам нужно будет использовать аутентификацию OAuth2. Для этого есть два варианта: использование идентификатора клиента для веб-приложения или использование учетной записи службы. Авторизация api

После этого вы можете сделать такой вызов. (Здесь я использую учетную запись службы)

Сначала выполните аутентификацию:

 $key = file_get_contents($key_file_location); $cred = new Google_Auth_AssertionCredentials( $service_account_name, array('https://www.googleapis.com/auth/analytics.readonly'), $key ); $client->setAssertionCredentials($cred); 

Позвонить:

 $ids = 'ga:123456'; //your id $startDate = '2013-12-25'; $endDate = '2014-01-08'; $metrics = 'ga:transactions'; $optParams = array( 'dimensions' => 'ga:campaign', 'max-results' => '50' ); $results = $service->data_ga->get($ids, $startDate, $endDate, $metrics, $optParams); //Dump results echo "<h3>Results Of Call:</h3>"; echo "dump of results"; var_dump($results); echo "results['totalsForAllResults']"; var_dump($results['totalsForAllResults']); echo "results['rows']"; foreach ($results['rows'] as $item) { var_dump($item); } 

Вам нужно будет сделать http, чтобы получить информацию с URL-адреса.

http://www.php.net/manual/en/function.http-get.php

Помните, что вам все равно нужно добавить код аутентификации Oauth2 в строку, прежде чем вы сможете отправить этот запрос. Эта ссылка может помочь, если у вас уже нет кода auth. https://developers.google.com/analytics/solutions/articles/hello-analytics-api#authorize_access

что вы можете сделать, это создать новую функцию …

 function ga_campaign_transactions($gaEmail, $gaPass, $gProfile, $limit) { require_once('classes/google-analytics/gapi.class.php'); $gDimensions = array('campaign'); $gMetrics = array('transactions'); $gSortMetric = NULL; $gFilter = ''; $gSegment = ''; $gStartDate = '2013-12-25'; $gEndDate = '2014-01-08'; $gStartIndex = 1; $gMaxResults = $limit; $ga = new gapi($gaEmail, $gaPass); $ga->requestReportData($gProfile, $gDimensions, $gMetrics, $gSortMetric, $gFilter, $gSegment, $gStartDate, $gEndDate, $gStartIndex, $gMaxResults); $gAnalytics_results = $ga->getResults(); //RETURN RESULTS return $gAnalytics_results; } $gProfile = '123456'; // The Profile ID for the account, NOT GA: $gaEmail = 'YOUR GOOGLE EMAIL'; // Google Email address. $gaPass = 'YOUR GOOGLE PASSWORD'; // Google Password. // NOTE: if 2 step login is turned on, create an application password. $limit = 50; $ga_campaign_transactions = ga_campaign_transactions($gaEmail, $gaPass, $gProfile, $limit) //OUTPUT if(!empty($ga_campaign_transactions)) { $counter=0; $gaCampResults= array(); // CREATE ARRAY TO STORE ALL RESULTS foreach($ga_campaign_transactions as $row) { $dim_list = $row->getDimesions(); $met_list = $row->getMetrics(); $gaCampResults[$counter]['campaign'] = $dim_list['campaign']; $gaCampResults[$counter]['transactions'] = $met_list['transactions']; $counter++; } } if(!empty($gaCampResults)) { $totalCampTransactions = count($gaCampResults); ?> <h2>We Found ( <?php echo number_format($totalCampTransactions,0);?> ) Results</h2> <ul> <?php foreach($gaCampResults as $gaRow){ echo "<li>Campaign:".$gaRow['campaign']." | Transactions: ".$gaRow['transactions']."</li>"; } ?> </ul> <?php } 

найти идентификатор профиля аналитики

Создать пароль для приложения Google

Надеюсь, это наводит вас на правильный путь 🙂 непроверено это, но похоже на то, что я использовал …

Marty

Если вы хотите интегрировать API Google Analytics с вашим приложением, посетите Google Analytics API Integration & Example