Создание пользователя Google в php: не авторизован для доступа к этому ресурсу/APIPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Создание пользователя Google в php: не авторизован для доступа к этому ресурсу/API

Сообщение Anonymous »

Я хочу создать пользователя рабочей области Google для своей организации из PHP-библиотеки Google, но мой код показывает ошибку 403:

Код: Выделить всё

{ "error": { "code": 403, "message": "Not Authorized to access this resource/api", "errors": [ { "message": "Not Authorized to access this resource/api", "domain": "global", "reason": "forbidden" } ] } }
Я выполнил следующие действия:
  • Создал сервисную учетную запись. Он отлично работает с определенными областями и другими конечными точками, такими как:
$service->users->listUsers( $optParams ) ;


[*]Предоставьте владельцу и администратору безопасный доступ к субъекту сервисного аккаунта:
Изображение


[*]Добавьте те же области моего кода в параметр «Делегирование на уровне домена» в консоли администратора Google Workspace
Изображение


[*]Это мой код:


Код: Выделить всё

public function getClient()
{
$KEY_FILE_LOCATION = FCPATH . '/assets/api/useraccounts/user-accounts.json';
$client = new Google_Client();
$client->setAuthConfig($KEY_FILE_LOCATION);
$client->useApplicationDefaultCredentials();
$client->setSubject('email@company.com');
$client->setApplicationName("Google User Accounts");
$client->setScopes([
"https://www.googleapis.com/auth/admin.directory.group.readonly",
"https://www.googleapis.com/auth/admin.directory.group.member.readonly",
'https://www.googleapis.com/auth/admin.directory.user',
'https://www.googleapis.com/auth/admin.directory.user.readonly',
'https://www.googleapis.com/auth/admin.directory.user.security'
]);
return $client;
}

public function create()
{
$client = $this->google_account->getClient();
$service = new Google_Service_Directory($client);
$user = new Google_Service_Directory_User();
$name = new Google_Service_Directory_UserName();
$name->setGivenName('Apple');
$name->setFamilyName('Test');
$user->setName($name);
$user->setHashFunction("MD5");
$user->setPrimaryEmail("apply.test@company.com");
$user->setPassword(hash("md5","Apple2024"));
try
{
$createUserResult = $service->users->insert($user);
var_dump($createUserResult);
}
catch (Exception $e) {
echo $e->getMessage();
}
}
Что это может быть? Нужна ли мне другая область или добавить еще одну роль в мой сервисный аккаунт?

Подробнее здесь: https://stackoverflow.com/questions/791 ... source-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»