我正在尝试创建一个使用Google Analytics API的报告系统。但是,由于我的PHP脚本将使用cron作业(而不是浏览器)启动,因此我无法使用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__);
提前谢谢!
答案 0 :(得分:1)
要使用Google API服务,需要OAuth。但是,您可以使用“OAuth 2.0 for Server to Server”,此处需要您可以从Google Developer Console获取的ISS电子邮件地址。按照以下链接中的说明操作:'https://developers.google.com/accounts/docs/OAuth2ServiceAccount'。
我使用相同的程序从后端获取OAuth,它的工作方式就像魅力一样。祝你好运。