Я работаю над сценарием cron, чтобы ежедневно проверять календарь Google. Я хотел бы знать, можно ли использовать Application-Specifi c Пароли (см .: https://support.google.com/accounts/answer/185833?hl=it) и вставить сгенерированный пароль в мой скрипт. OAUTH требует взаимодействия с пользователем, и, поскольку я работаю над сценарием, я не могу следовать по этому пути. Я также читал о «учетных записях служб», но надеюсь, что смогу избежать этого, просто используя Application-Specifi c Пароли. Какая разница? Любой намек?
Большое спасибо Francesco
EDIT1: код, который я пытаюсь использовать:
<?php
require __DIR__ . '/vendor/autoload.php';
$client = new Google_Client();
//The json file you got after creating the service account
putenv('GOOGLE_APPLICATION_CREDENTIALS=test-calendario-268115-5452ff6f57e8.json');
$client->useApplicationDefaultCredentials();
$client->setApplicationName("test_calendar");
$client->setScopes(Google_Service_Calendar::CALENDAR);
$client->setAccessType('offline');
$service = new Google_Service_Calendar($client);
$calendarList = $service->calendarList->listCalendarList();
EDIT2: $ service-> calendarList-> listCalendarList () дает использование пустого списка:
<?php
require __DIR__ . '/vendor/autoload.php';
$client = new Google_Client();
//The json file you got after creating the service account
putenv('GOOGLE_APPLICATION_CREDENTIALS=test-calendario-268115-5452ff6f57e8.json');
$client->useApplicationDefaultCredentials();
$client->setApplicationName("test_calendar");
$client->setScopes(Google_Service_Calendar::CALENDAR);
$client->setAccessType('offline');
$service = new Google_Service_Calendar($client);
$listEvents = $service->events->listEvents("...@group.calendar.google.com");// taken from sharing calendar settings
$events = $listEvents->getItems();
print_r($events);