Google Admin SDK получает ошибку 403 «Недостаточно прав доступа»

Я создал учетную запись службы и присвоил ей идентификатор клиента https://www.googleapis.com/auth/admin.directory.group Когда я запускаю следующий код, я получаю ошибку 403: Недостаточное разрешение.

<?php
// Requires >= PHP 5.4

require_once(__DIR__ . '/vendor/autoload.php');
date_default_timezone_set('America/Chicago');

$settings = [
'creds_path' => '/path/to/service_creds.json',
'group_email' => '[email protected]',
'service_email' => '[email protected]'
];

putenv("GOOGLE_APPLICATION_CREDENTIALS={$settings['creds_path']}");

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Directory::ADMIN_DIRECTORY_GROUP);
// $client->setSubject('[email protected]');

$service = new Google_Service_Groupssettings($client);

try {
print_r($service->groups->get($settings['group_email'], ['alt' => 'json']));
} catch(Google_Service_Exception $e) {
if($e->getCode() == 404) {
echo "Group {$settings['group_email']} not found.\n";
exit;
} elseif($e->getCode() == 403) {
echo "Insufficient Permissions.\n";
exit;
} else {
throw  $e;
}
}

Я где-то читал, что служебная учетная запись должна выдавать себя за того, кто имеет доступ к sdk администратора, так что это то, что пробовала закомментированная строка, но это не сработало.

Кто-нибудь знает в чем дело?

Код, который является required из https://github.com/google/google-api-php-client

0

Решение

Это закончилось тем, что я использовал не тот класс. Я переключился Google_Service_Groupssettings в Google_Service_Directory и оставил комментарий setSubject позвони и теперь все работает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]