2014-10-10 2 views
0

Google 애널리틱스 API를 활용하는보고 시스템을 만들려고합니다. 그러나 내 PHP 스크립트는 cron 작업 (브라우저가 아님)으로 시작되므로 OAuth 메소드를 사용할 수 없으며 매 시간 (특히 밤 시간) 토큰을 새로 고치려하지 않습니다. 나는 그 과정을 자동화 할 수 있기를 희망한다.Google 애널리틱스 API, 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

OAuth는 Google API 서비스를 사용하기 위해 필요합니다. 그러나 "서버 대 서버용 OAuth 2.0"을 사용할 수 있습니다. 여기서는 Google 개발자 콘솔에서 얻을 수있는 ISS 이메일 주소가 필요합니다. 이 링크의 안내에 따르십시오 : 'https://developers.google.com/accounts/docs/OAuth2ServiceAccount'.

나는 같은 절차를 사용하여 백엔드에서 OAuth를 사용하고 있으며 매력처럼 작동합니다. 행운을 빕니다.