非SuperAdmin用户能否通过API获取Google Workspace Customer ID?
非SuperAdmin用户获取Google Workspace Customer ID的方案
Google Workspace的Customer ID是每个租户的唯一标识,可在Admin控制台的「账号 -> 账号设置 -> 个人资料」路径下找到。此前尝试的三个API(用户列表、单个用户查询、客户信息查询)仅对SuperAdmin账号开放返回Customer ID的权限,非超管调用时要么无此字段,要么返回403 "Not Authorized to access this resource/api",针对这个问题,提供以下可行方案:
方案1:调整用户API权限配置
如果要继续通过用户类API获取Customer ID,需完成两项配置:
- 为非超管账号分配
https://www.googleapis.com/auth/admin.directory.user.readonly权限范围; - 在Google Admin控制台的「用户权限」设置中,允许该账号查看用户的完整基础资料。
注意:即使完成上述配置,部分场景下用户API仍可能不返回Customer ID,此时建议优先使用方案2。
方案2:解析OAuth ID令牌获取
这是更稳定的非超管获取方式,无需依赖Admin API权限:
- 引导非超管用户通过OAuth授权你的应用(至少需要
email或profile这类基础权限); - 获取用户授权后的ID令牌(ID Token);
- 调用Google令牌验证接口,传入ID令牌作为参数;
- 接口返回结果中的
cid字段即为目标Customer ID,同时hd字段对应该租户的域名。
重要提示
- 客户信息查询API(Customers.get)的权限限制无法绕过,非超管账号始终无法调用成功;
- 令牌解析方式的核心是利用OAuth授权后的身份令牌,不需要任何超管级别的权限配置。
内容的提问来源于stack exchange,提问作者Gokul D
相关产品推荐
相关产品推荐

