Я понимаю, что здесь уже были подобные вопросы, но ответы на них мне не помогли. Попытка подключиться через служебную учетную запись к календарям пользователей, которые являются частью домена. Для подключения я использую Google API PHP Клиент (https://github.com/googleapis/google-api-php-client) При настройке учетной записи следуйте инструкциям (https://developers/admin-sdk/directory/v1/guides/delegation)
Вот мой код:
<?php
require '/vendor/autoload.php';
$client = new Google_Client();
putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
$client->useApplicationDefaultCredentials();
$client->authorize();
$scopes = implode(' ', [Google_Service_Calendar::CALENDAR, Google_Service_Calendar::CALENDAR_EVENTS]);
$client->setScopes($scopes);
$client->setSubject('user@email.com');
$service = new Google_Service_Calendar($client);
$optParams = [
'maxResults' => 10,
'orderBy' => 'startTime',
'singleEvents' => TRUE,
'timeMin' => date('c')
];
$results = $service->events->listEvents('root@email.com', $optParams);
$events = $results->getItems();
И тогда я получаю ошибку авторизации:
Error: {
"error": "unauthorized_client",
"error_description": "Client is unauthorized to retrieve access tokens using this method, or client not authorized for any of the scopes requested."
}
Можете ли вы сказать мне, если кто-то уже сталкивался с такой ошибкой? Должна ли root@email.com быть почта или почта, сгенерированная во время настройки доступа? Или проблема вообще где-то еще?
Заранее спасибо за любую помощь!