无需管理员权限通过API获取用户域群组列表的实现方案
无管理员权限获取Google Workspace域内群组列表实现方案
核心逻辑:Google Sheets可调用仅需普通用户授权的公开接口实现群组搜索,你可以在自有站点复用相同的权限范围和接口实现同类能力,无需申请域管理员权限。
具体实现路径
方案1:自行调用API实现
- 先在Google Cloud控制台创建OAuth客户端ID,配置你的站点域名为授权来源,申请两个普通用户可自行授权的权限范围:
https://www.googleapis.com/auth/groups.readonly、https://www.googleapis.com/auth/directory.readonly,常规Workspace域默认开放这两个权限的用户自主授权,无需管理员额外配置。 - 用户登录你的站点后,引导用户完成Google账号OAuth授权,直接调用Groups API的公开列表端点,即可拉取当前用户可见的所有域内群组信息,返回结果和Google Sheets可搜索的群组范围完全一致。
方案2:直接集成官方群组选择组件
直接调用Google Picker API的群组选择器组件,该组件和Google Sheets分享功能的选择器是同一套,不用你自行开发搜索、展示逻辑,集成后用户体验和Sheets完全一致,同样仅需普通用户授权即可使用。
限制说明
若所属Workspace域管理员主动禁用了普通用户的目录访问权限,上述方案均无法生效,此时Google Sheets也无法搜索域内群组,属于域级安全限制,无绕过方法。
内容的提问来源于stack exchange,提问作者Павел Стулий
相关产品推荐
相关产品推荐

