我正在添加一个 PHP 答案 - 您可以调整或将其转换为 garb / ruby 代码。
您现在应该可以通过服务帐号使用 Google Analytics(分析)了。您确实必须使用私钥而不是访问令牌。
在 API 控制台中创建应用程序
基本上,您转到 Google API 控制台并创建一个应用程序。
在服务选项卡中启用 Google Analytics。
在 API Access 选项卡中,创建一个新的 OAuth ID(创建另一个客户端 ID... 按钮),选择服务帐户并下载您的私钥(生成新密钥... 链接)。稍后您必须将密钥上传到您的网络服务器。
在 API 访问页面的服务帐户部分,复制电子邮件地址 (@developer.gserviceaccount.com) 并将具有此电子邮件地址的新用户添加到您的 Google Analytics 个人资料中。如果你不这样做,你会得到一些很好的错误
代码
从 SVN 下载最新的 Google PHP 客户端(从命令行svn checkout http://google-api-php-client.googlecode.com/svn/trunk/ google-api-php-client-read-only
)。
您现在可以在代码中访问 Analytics API:
require_once 'Google_Client.php';
require_once 'contrib/Google_AnalyticsService.php';
$keyfile = 'dsdfdss0sdfsdsdfsdf44923dfs9023-privatekey.p12';
// Initialise the Google Client object
$client = new Google_Client();
$client->setApplicationName('Your product name');
$client->setAssertionCredentials(
new Google_AssertionCredentials(
'11122233344@developer.gserviceaccount.com',
array('https://www.googleapis.com/auth/analytics.readonly'),
file_get_contents($keyfile)
)
);
// Get this from the Google Console, API Access page
$client->setClientId('11122233344.apps.googleusercontent.com');
$client->setAccessType('offline_access');
$analytics = new Google_AnalyticsService($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:1234';
$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();
}