调用Google Directory API需哪些权限?GCP服务账号权限报错如何解决
调用Google Directory API 所需权限配置及问题排查
针对你遇到的Not Authorized to access this resource/api报错,按以下步骤逐一核对配置即可解决:
- 首先确认你已经在GCP项目的「API和服务」页面启用了Admin SDK API,Directory API属于Admin SDK的一部分,未启用API会直接触发权限报错。
- 必须为服务账号开启全域范围委派(Domain-wide Delegation, DwD):进入GCP「IAM与管理员→服务账号」页面,找到对应服务账号,勾选「启用全域范围委派」,保存后记录该服务账号的客户端ID。
- 进入Google Workspace管理后台,在「安全→访问和数据控制→API控制→域范围委派」页面,添加服务账号的客户端ID,为其授权对应API所需的OAuth 2.0范围:
你调用的users.get接口至少需要以下范围之一,建议优先选择最小权限范围:https://www.googleapis.com/auth/admin.directory.user.readonly(只读用户信息)https://www.googleapis.com/auth/admin.directory.user(读写用户信息)
- 调用API时必须模拟(impersonate)一位具有目录管理权限的Google Workspace管理员账号:服务账号本身没有访问Workspace目录数据的权限,必须通过模拟有对应管理权限的Workspace用户才能发起请求,这是最容易遗漏的配置项。
- 注意:GCP IAM中为服务账号分配的角色仅控制GCP资源访问权限,对Directory API这类Workspace资源的访问无任何作用,无需在GCP IAM中额外分配角色。
如需确认其他Directory API接口的所需权限,可直接查看对应接口说明中的OAuth 2.0范围列表,选择满足业务需求的最小范围配置即可。
内容的提问来源于stack exchange,提问作者Joey Yi Zhao
相关产品推荐
相关产品推荐

