Google Analytics API,避免使用OAuth


Google Analytics API, avoid OAuth

我正在尝试创建一个将利用谷歌分析API的报告系统。然而,由于我的PHP脚本将使用cron作业(而不是浏览器)启动,所以我不能使用OAuth方法,也不想每小时刷新一次令牌(尤其是夜间)。我希望我能使这个过程自动化。

我希望你能帮忙。

以下是我的代码,但它不起作用:我发现一个异常"(401)Login Required"。

<?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__);

提前谢谢!

OAuth是使用Google API服务所必需的。然而,您可以使用"OAuth 2.0 for Server to Server",在这里,ISS电子邮件地址是必需的,您可以从Google Developer Console获得。请按照以下链接中的说明进行操作:'https://developers.google.com/accounts/docs/OAuth2ServiceAccount"。

我正在使用相同的过程从后端获得OAuth,它的工作方式很有魅力。祝你好运