我们正在尝试创建与 Google Admin SDK 的集成,以便能够在我们的域中检索、更新和创建帐户。但是,我们不断收到 403 错误,表明我们无权访问资源/api。
我们正在使用从启用了域范围的授权委托(delegate)和以下两个范围的服务帐户获得的凭据:
https://www.googleapis.com/auth/admin.directory.user.readonly , https://www.googleapis.com/auth/admin.directory.user .我们正在生成 JWT(也包括这两个范围),然后向 https://www.googleapis.com/oauth2/v4/token 发送请求检索访问 token 。
然后我们使用访问 token 向 https://www.googleapis.com/admin/directory/v1/users?domain=XXXX.com 发送请求。 .我们将访问 token 作为不记名 token 包含在 header 中。
在响应中,我们收到以下消息:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Not Authorized to access this resource/api"
}
],
"code": 403,
"message": "Not Authorized to access this resource/api"
}
}
是否有可能澄清我们做错了什么?
最佳答案
问题是 JWT 必须包含 sub
字段:应用程序为其请求委派访问的用户的电子邮件地址。
关于google-api - 如何授权服务帐户访问 Google Admin API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57772484/