해당 계정이 귀하의 것으로 가정하면 service account을 사용할 수 있습니다. Google Analytics 계정에 계정 수준의 서비스 계정 이메일 주소 읽기 액세스 권한을 부여하면 데이터를 읽을 수 있습니다. 이 후, 당신은 당신이 데이터에 액세스 할 수 있습니다 정상으로 OAuth2 방법은 새로 고침 토큰을 사용하여 다음 번을 인증하기 위해 사용을 요구 사용할 수있는 계정이 아닌 경우
<?php
session_start();
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
/************************************************
The following 3 values an befound in the setting
for the application you created on Google
Developers console.
The Key file should be placed in a location
that is not accessable from the web. outside of
web root.
In order to access your GA account you must
Add the Email address as a user at the
ACCOUNT Level in the GA admin.
************************************************/
$client_id = '1046123799103-nk421gjc2v8mlr2qnmmqaak04ntb1dbp.apps.googleusercontent.com';
$Email_address = '[email protected]eaccount.com';
$key_file_location = '629751513db09cd21a941399389f33e5abd633c9-privatekey.p12';
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$key = file_get_contents($key_file_location);
// seproate additional scopes with a comma
$scopes ="https://www.googleapis.com/auth/analytics.readonly";
$cred = new Google_Auth_AssertionCredentials(
$Email_address,
array($scopes),
$key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$service = new Google_Service_Analytics($client);
$accounts = $service->management_accountSummaries->listManagementAccountSummaries();
//calulating start date
$date = new DateTime(date("Y-m-d"));
$date->sub(new DateInterval('P10D'));
//Adding Dimensions
$params = array('dimensions' => 'ga:userType');
// requesting the data
$data = $service->data_ga->get("ga:78110423", $date->format('Y-m-d'), date("Y-m-d"), "ga:users,ga:sessions", $params);
?><html>
<?php echo $date->format('Y-m-d') . " - ".date("Y-m-d"). "\n";?>
<table>
<tr>
<?php
//Printing column headers
foreach($data->getColumnHeaders() as $header){
print "<td>".$header['name']."</td>";
}
?>
</tr>
<?php
//printing each row.
foreach ($data->getRows() as $row) {
print "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td></tr>";
}
//printing the total number of rows
?>
<tr><td colspan="2">Rows Returned <?php print $data->getTotalResults();?> </td></tr>
</table>
</html>
<?php
?>
코드는 튜토리얼 Google Service Account with PHP
찢어진 . 이전 질문의 코드를 사용하십시오.
치명적인 오류 : D : \ xampp \ htdocs \ ga_api \ google-api-php에서 'OAuth2 토큰을 새로 고침하는 중 오류가 발생했습니다.'오류 메시지 : '{ "오류": invalid_grant "}' '오류로'Google_Auth_Exception '오류가 발생했습니다. -client-master \ src \ Google \ Auth \ OAuth2.php : 358'무엇이 잘못되었는지 말해 줄 수 있습니까? – Sayed
기계의 Google 유효 기간 확인. 인증을 사용하기 전에 인증이 만료되는 것은 오류입니다. – DaImTo
대답 할 수 있다면 내 컴퓨터의 시간을 Google과 동기화하는 방법은 무엇입니까? – Sayed