使用服务帐户进行 Google Admin SDK 身份验证

使用服务帐户进行 Google Admin SDK 身份验证

我的团队目前正在开发一个应用程序,使用 Admin SDK 在 GCP 中列出我公司的域用户,以便用于入职和离职目的。

我们使用服务帐户来执行此操作,并且我们已添加管理员.目录.用户.只读在 Google Admin 的高级设置中,将范围添加到该范围。Admin SDK API 已激活,我们可以在 Credentials 区域中看到服务帐户。

当我们调用https://www.googleapis.com/admin/directory/v1/users带参数的端点viewType=domain_public域名=[我们的域名],同时使用通过oauth2l,我们收到以下消息:

{
   "error": {
       "errors": [
           {
               "domain": "global",
               "reason": "forbidden",
               "message": "Not Authorized to access this resource/api"
           }
       ],
       "code": 403,
       "message": "Not Authorized to access this resource/api"
   }
}

是否存在我们无法预见的领域限制?

答案1

你需要执行全域委派如果您想使用服务帐号授权,请模拟您的某个用户。服务帐号本身不属于 G Suite 帐号,因此您必须模拟属于 G Suite 帐号的用户才能访问该帐号的目录。

如果我没记错的话,oauth2l 不支持域范围的委派。

相关内容