Google Directory API - не могу понять, почему это не работает - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь использовать API-интерфейс Google Service Directory для вывода списка ASP пользователей (этап 1), поскольку я хочу иметь возможность их удалять (этап 2).

Я использую служебную учетную запись с включенным делегированным доступом и включенной областью действия https://www.googleapis.com/auth/admin.directory.user.security.

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

Я включил тестовый код ниже.

Я пошел к менеджеру GCP API, чтобы создать учетную запись службы, включив делегирование по всему домену. Затем включил этот идентификатор клиента для доступа к API в консоли администратора G-Suite с этой областью https://www.googleapis.com/auth/admin.directory.user.security

require '../libs/vendor/autoload.php';

$user = "standardUser@domain.com";
$admin = "adminAccount@domain.com";
putenv('GOOGLE_APPLICATION_CREDENTIALS=<some_path_here>googleAuth.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(array('https://www.googleapis.com/auth/gmail.settings.basic','https://www.googleapis.com/auth/admin.directory.user.security'));
$client->setApplicationName("Dummy App Name");
$client->setSubject($user);
$client->setIncludeGrantedScopes(true);
$client->setAccessType(‘offline’);

$servicesClient = new Google_Service_Directory($client);
$results = $servicesClient->asps->listAsps($user);
print_r($results);

Я пытался с одной учетной записью администратора, и она работала успешно, однако все остальные учетные записи предоставляют одну из двух ошибок:

  1. «код»: 401, "message": "У пользователя нет учетных данных для выполнения этой операции"

Это если я назначу рабочего администратора в качестве субъекта.

  1. «код»: 403, "message": "Не авторизован для доступа к этому ресурсу / API" Это если я назначу пользователя в качестве субъекта.

Я ожидаю, что вывод будет рабочим ответом пользователей ASPS!

Любая помощь по поводу того, почему это не работает, была бы отличной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...