Какие привилегии требуются для вызова api directory.user.update?

Наша организация использует SAML для единого входа в Google Apps. Чтобы использовать единый вход, мы должны управлять функциями смены пароля через API. Поскольку API предоставления не рекомендуется в пользу API-интерфейса администратора SDK, я работаю против этого API.

Процесс, который я разрабатываю, заключается в том, что конечный пользователь войдет в мое приложение, используя Google OAuth2. Затем, используя токен доступа пользователей, я пытаюсь вызвать https://www.googleapis.com/admin/directory/v1/users/ API для ввода нового пароля, но я получаю сообщение об ошибке 403 "Нет прав доступа для доступа к этому ресурс / апи".

У меня вопрос, какая привилегия требуется для того, чтобы пользователь мог обновить свой пароль? При вызове этого API с помощью GET я могу успешно получить информацию о моем пользователе, но попытка ввести новый пароль (или любое другое поле) не удалась.

Вот пример моего запроса и ответа: Запрос:

PUT https://www.googleapis.com/admin/directory/v1/users/user%40domain.org?key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer ya29.AHES6ZT_7onp48edpClD72X-*************************
X-JavaScript-User-Agent:  Google APIs Explorer

{
  "password": "wlKsf.##2af"
}

Отклик:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Not Authorized to access this resource/api"
   }
  ],
  "code": 403,
  "message": "Not Authorized to access this resource/api"
 }
}

1 ответ

Решение

Только супер-администраторы, делегированные администраторы и посредники могут получить доступ к API Admin SDK Directory.

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

Другие вопросы по тегам