使用 curl 验证 Gsuite 用户的 URL 是什么?
What is the URL to authenticate Gsuite users using curl?
我想对 Gsuite 用户进行身份验证,以便他们能够从我公司的应用程序创建群组,我必须使用 CURL 来执行此操作,URL 我应该发送 post请求到?
例如,如果我想将用户登录到 Google plus,我会点击 url
CURLOPT_URL => "https://www.googleapis.com/plus/v1/people/me?access_token=" . $access_token,
Gsuite 的 url 是什么?
如果您的目标是在 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 令牌中的信息:
这些网址需要 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 云控制台。为 Admin SDK
.
启用 API
- 无权访问此 resource/api。
您没有正确设置全域委派。
- 客户端无权使用此方法检索访问令牌
您尝试在现有服务帐户上设置全域委派。您需要创建一个未分配任何 IAM 角色的新服务帐户。
我想对 Gsuite 用户进行身份验证,以便他们能够从我公司的应用程序创建群组,我必须使用 CURL 来执行此操作,URL 我应该发送 post请求到?
例如,如果我想将用户登录到 Google plus,我会点击 url
CURLOPT_URL => "https://www.googleapis.com/plus/v1/people/me?access_token=" . $access_token,
Gsuite 的 url 是什么?
如果您的目标是在 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 令牌中的信息:
这些网址需要 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 云控制台。为 Admin SDK
.
- 无权访问此 resource/api。
您没有正确设置全域委派。
- 客户端无权使用此方法检索访问令牌
您尝试在现有服务帐户上设置全域委派。您需要创建一个未分配任何 IAM 角色的新服务帐户。