使用curl对Gsuite用户进行身份验证的URL是什么



我想对Gsuite用户进行身份验证,以便他们能够从我公司的应用程序创建组,我必须使用CURL,我应该向哪个URL发送发布请求?

例如,如果我想让用户登录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令牌中的信息:

这些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中使用过,或已禁用

转到谷歌云控制台。启用Admin SDK的API。

  • 未被授权访问此资源/api

您没有正确设置域范围的委派。

  • 客户端未经授权使用此方法检索访问令牌

您试图在现有服务帐户上设置域范围委派。您需要创建一个没有分配任何IAM角色的新服务帐户。

相关内容

  • 没有找到相关文章

最新更新