Какой URL-адрес для аутентификации пользователей Gsuite с помощью curl?
Я хочу аутентифицировать пользователей Gsuite, чтобы они могли создавать группы из приложения моей компании, я должен сделать это с помощью CURL, по какому URL-адресу я должен отправить запрос на публикацию?
Например, если я хочу авторизовать пользователя в Google plus, я бы нажал эту ссылку
CURLOPT_URL => "https://www.googleapis.com/plus/v1/people/me?access_token=" . $access_token,
Какой URL для Gsuite?
1 ответ
Если ваша цель - получить информацию о пользователе в G Suite:
CURLOPT_URL => "https://www.googleapis.com/admin/directory/v1/users/john@example.com?access_token=" . $access_token;
Примечание. Пожалуйста, обратитесь к Справочному API, чтобы узнать, как выполняется делегирование. Это обязательно. Жетоны обычного доступа не будут работать без Domain-wide Delegation
включен.
Ваши учетные данные (токен доступа) будут нуждаться в правильных областях:
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
Ваши учетные данные будут нуждаться в правильном делегировании.
Пример Python:
SCOPES = [
"https://www.googleapis.com/auth/admin.directory.group",
"https://www.googleapis.com/auth/admin.directory.user"
]
key_file = 'google-directory-api-service-account.json'
SERVICE_ACCOUNT_EMAIL = 'directory@development-123456.iam.gserviceaccount.com'
ADMIN_EMAIL = 'gsuite-admin@example.com'
credentials = service_account.Credentials.from_service_account_file(
key_file,
scopes = SCOPES)
credentials = credentials.with_subject(ADMIN_EMAIL)
В нижней части этого ответа приведены распространенные ошибки, которые я видел при настройке доступа к G Suite.
Если ваша цель - получить информацию, хранящуюся в токене Google OAuth 2.0:
Эти URL-адреса ожидают токена доступа Google OAuth 2.0. alt=json
указывает возвращение JSON.
Примеры, которые вы можете проверить в командной строке:
curl -k "https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESS_TOKEN"
curl -k "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=ACCESS_TOKEN"
Существует также конечная точка v3 для:
curl -k "https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=ACCESS_TOKEN"
Распространенные проблемы при настройке доступа API к G Suite:
- Доступ не настроен. API-интерфейс администратора каталога не использовался в проекте 123456789012 ранее или он отключен.
Перейдите в консоль Google Cloud. Включить API для Admin SDK
,
- Не авторизован для доступа к этому ресурсу / API.
Вы неправильно настроили делегирование по всему домену.
- Клиент не авторизован для получения токенов доступа с помощью этого метода
Вы попытались настроить делегирование на уровне домена для существующей учетной записи службы. Вам необходимо создать новую учетную запись службы, которой не назначены роли IAM.