You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Google身份提供商时,如何获取用户Google Workspace组织信息?

解决方案:获取Google用户组织信息用于权限管控

为什么People API没返回组织信息

People API的organizations字段仅返回用户主动添加到Google个人资料中的组织信息,并非用户所属的Google Workspace(原G Suite)域组织信息。如果用户没在个人资料里填写组织,接口自然不会返回相关数据。

针对Google Workspace用户的解决方案

如果你的应用面向Google Workspace企业用户,可使用Admin SDK Directory API的users.get接口,获取用户所属的组织单元和域信息:

  • 调用接口:GET https://admin.googleapis.com/admin/directory/v1/users/{userKey}
  • 需要的权限范围:https://www.googleapis.com/auth/admin.directory.user.readonly
  • 响应中会包含orgUnitPath(用户所属组织单元路径)、primaryEmail(带域的邮箱,可判断所属域)等字段,可直接用于权限管控逻辑。

注意:使用该API需要你的Google Cloud项目已启用Admin SDK,且调用者需拥有Workspace管理员权限(或被授予相应的用户读取权限)。

针对普通Google账号用户的限制

如果你的应用面向普通Google账号(非Workspace用户),目前没有官方API能获取用户的所属组织——普通Google账号没有强制绑定的组织实体,仅能依赖用户手动在个人资料中填写组织信息,通过People API的organizations字段获取,但这种数据不可靠,无法作为权限管控的依据。

额外注意事项

  • 确保在OAuth授权时,请求了正确的权限范围:
    • 若用People API,需请求https://www.googleapis.com/auth/userinfo.profile(适合获取个人资料信息)
    • 若用Admin SDK,需请求上述的用户只读权限
  • 测试时,使用Workspace账号并确保该账号属于某个组织单元,同时调用者拥有管理员权限。

内容的提问来源于stack exchange,提问作者Renzo Sunico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:05:34