Я пытаюсь создать систему отчетности, которая будет использовать 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__);
Заранее спасибо!
OAuth требуется для использования сервиса Google API. Однако вы можете использовать «OAuth 2.0 для сервера к серверу», здесь требуется адрес электронной почты ISS, который вы можете получить из консоли разработчика Google. Следуйте инструкциям в этой ссылке:https://developers.google.com/accounts/docs/OAuth2ServiceAccount».
Я использую ту же процедуру, чтобы получить OAuth от бэкэнда, и он работает как шарм. Удачи.
Других решений пока нет …