我尝试使用服务帐户访问我的Google Analytics数据。我已经在开发者控制台中创建了一个,并且我在同一个控制台中启用了Google AnalyticsAPI,但不知怎的,我无法从API中提取数据。
我已在this page上使用了该脚本。
我的代码如下:
<?php
$keyfile = 'google/key.p12';
// Initialise the Google Client object
$client = new Google_Client();
$client->setApplicationName('MyNAME');
$client->setAssertionCredentials(
new Google_AssertionCredentials(
'XXXX@developer.gserviceaccount.com', array('https://www.googleapis.com/auth/analytics.readonly'), file_get_contents($keyfile)
)
);
$client->setClientId('XXXX.apps.googleusercontent.com');
$client->setAccessType('offline_access');
$analytics = new Google_AnalyticsService($client);
$analytics_id = 'ga:UA-XXXXXX-1'; // http://productforums.google.com/forum/#!topic/analytics/dRuAr1K4waI
// get data for the last 2 weeks
$lastWeek = date('Y-m-d', strtotime('-2 week'));
$today = date('Y-m-d');
// Test connection
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();
}
?>
注意:如果它说&#34; XXXX&#34;,这意味着我出于安全目的删除了部分字符串;正确的字符串在我的实际脚本中。
它应该显示用户数或错误,但我只是得到一个空白屏幕。我确定密钥文件的URL是正确的。
有人有关于如何解决这个问题的建议吗?非常感谢。
答案 0 :(得分:0)
看起来您正在使用您的属性ID(UA-XXXXX-1)代替您的视图(个人资料)ID。如果您转到Google Analytics Query Explorer,则可以轻松查看您的实际ga:XXXX视图(个人资料)ID。任何给定的属性都可以有多个视图(配置文件)。 This reference guide可以很好地描述此请求所需的参数。