Я хочу аутентифицировать пользователей Gsuite, чтобы они могли создавать группы из приложения моей компании, я должен сделать это с помощью CURL, по какому URL-адресу я должен отправить запрос на публикацию?
Например, если я хочу авторизовать пользователя в Google plus, я бы набрал этот URL
CURLOPT_URL => "https://www.googleapis.com/plus/v1/people/me?access_token=" . $access_token,
Что такое URL для Gsuite?
Если ваша цель - получить информацию о пользователе в G Suite:
CURLOPT_URL => "https://www.googleapis.com/admin/directory/v1/users/john@example.com?access_token=" . $access_token;
Примечание. Пожалуйста, обратитесь к API Справочника, чтобы узнать, как выполняется делегирование.Это обязательно.Токены обычного доступа не будут работать без включенного Domain-wide Delegation.
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.
alt=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:
Перейдите в консоль Google Cloud.Включите API для Admin SDK.
Admin SDK
Вы неправильно настроили делегирование для всего домена.
Вы попытались настроить делегирование по всему домену для существующей учетной записи службы.Вам необходимо создать новую учетную запись службы, которой не назначены роли IAM.