请帮我理解错误。
API
Google Api PHP v3,key.p12是.zip集合API中的文件(或者我找到它的位置?)
我用xxxxxxxxxx
屏蔽了我的数据对不起我的英语
gaphp.php
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
$client_id = 'xxx-xxx.apps.googleusercontent.com';
$service_account_name = 'xxx-xxx@developer.gserviceaccount.com';
$keyfile = 'key.p12';
$redirect_url = 'http://example.com/service/ga/gaphp.php';
$client_secret = 'xxxxxxxxxxxxxxxxxxxxx';
// Initialise the Google Client object
$client = new Google_Client();
$client->setApplicationName('My application');
$client->setRedirectUri($redirect_url);
$client->setClientSecret($client_secret);
$client->setAssertionCredentials(
new Google_Auth_AssertionCredentials(
$service_account_name,
array('https://www.googleapis.com/auth/analytics'),
file_get_contents($keyfile)
)
);
// Get this from the Google Console, API Access page
$client->setClientId($client_id);
$client->setAccessType('offline_access');
$analytics = new Google_Service_Analytics($client);
// We have finished setting up the connection,
// now get some data and output the number of visits this week.
// Your analytics profile id. (Admin -> Profile Settings -> Profile ID)
$analytics_id = 'ga:xxxxxx';
$lastWeek = date('Y-m-d', strtotime('-1 week'));
$today = date('Y-m-d');
try {
$results = $analytics->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();
}
?>
错误
There was an error : - Error refreshing the OAuth2 token, message: 'Protection: 1; mode=block Server: GSE Alternate-Protocol: 443:quic Transfer-Encoding: chunked { "error" : "invalid_grant" }'
答案 0 :(得分:2)
我昨天让我的分析工作了一个服务帐户 - 所以我可以帮忙。在控制台https://console.developers.google.com/project中,您可以选择项目并转到“APIS&amp; AUTH”。确保已启用analytics API。并确保您有服务帐户“凭据”。确保为您的Google Analytics(分析)属性授予服务帐户电子邮件地址权限。您还需要获取服务帐户的P12密钥文件,并在服务器上提供该密钥文件。我实际上使用了$ key_file_location变量的完整文件路径。
我在GitHub上使用了这段代码:https://github.com/google/google-api-php-client/blob/master/examples/service-account.php
示例适用于Books API - 因此只需将“Books”替换为“Analytics”,将“books”替换为“analytics”。填写您的服务帐户凭据,并记住将您的服务帐户电子邮件添加到您的Google Analytics(分析)属性。
答案 1 :(得分:0)
您只需确认您的服务帐户电子邮件ID与google analytics帐户相关联,并拥有相应的权限。
第二件事是确保.P12文件是在编译完上述步骤后生成的。