2014-10-10 3 views
0

Я пытаюсь создать систему отчетности, которая будет использовать API Google Analytics. Однако, поскольку мой PHP-скрипт будет запущен с заданием cron (а не с браузером), я не могу использовать метод OAuth, и я не хочу обновлять токен каждый час (особенно в ночное время). Я надеюсь, что смогу автоматизировать процесс.API Google Analytics, избегайте OAuth

Я надеюсь, что вы можете помочь.

Вот что у меня есть код, однако он не работает: я улавливаю исключение "(401) Требуется вход".

<?php 

include_once "templates/base.php"; 
echo pageHeader("Simple API Access"); 

require_once realpath(dirname(__FILE__) . '/../autoload.php'); 


$client = new Google_Client(); 
$client->setApplicationName("MY_APP_NAME"); 
$apiKey = "MY_OWN_API"; 

if ($apiKey == '<YOUR_API_KEY>') { 
    echo missingApiKeyWarning(); 
} 
$client->setDeveloperKey($apiKey); 
$client->setAccessType('offline'); 

$service = new Google_Service_Analytics($client); 



echo '<pre>'; 

$analytics_id = 'ga:ANALYTICS_ID'; 
$lastWeek = date('Y-m-d', strtotime('-1 week')); 
$today = date('Y-m-d'); 

try { 
    $results = $service->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(); 
} 



echo pageFooter(__FILE__); 

Спасибо заранее!

ответ

1

Для использования службы Google API требуется OAuth. Однако вы можете использовать «OAuth 2.0 для сервера к серверу», здесь здесь требуется адрес электронной почты ISS, который вы можете получить в Google Developer Console. Следуйте инструкциям по этим ссылкам: 'https://developers.google.com/accounts/docs/OAuth2ServiceAccount'.

Я использую ту же процедуру, что и OAuth от бэкэнда, и он работает как шарм. Удачи.

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