获取Google Workspace所有空间成员遇GAM 403错误求解决方案
解决Google Workspace Chat空间成员获取的403权限问题
问题原因
你遇到的403: This Chat app is not a member of this space错误,核心原因是GAM使用的服务账号未被添加为目标Chat空间的成员,因此没有权限读取该空间的成员列表。
可行解决方案
1. 手动添加服务账号到目标空间
- 找到GAM配置时使用的服务账号邮箱(格式通常为
[service-account-name]@[your-domain].iam.gserviceaccount.com) - 打开目标Google Chat空间,点击空间设置 → 成员 → 添加成员,输入服务账号邮箱并完成添加
- 重新执行命令即可正常获取成员:
gam print chatmembers space spaces/spaceID
2. 批量添加服务账号到所有空间(适用于多空间场景)
如果需要处理大量Chat空间,按以下步骤操作:
- 导出所有Chat空间列表:
gam print chatspaces > chatspaces.csv - 基于导出的CSV生成批量添加命令(示例Shell脚本逻辑):
SERVICE_ACCOUNT="gam-service@your-domain.iam.gserviceaccount.com" while IFS=, read -r spaceId name; do if [ "$spaceId" != "spaceId" ]; then gam chat space "$spaceId" add member "$SERVICE_ACCOUNT" fi done < chatspaces.csv - 执行批量添加后,导出所有空间成员:
gam csv chatspaces.csv gam print chatmembers space ~spaceId > all-space-members.csv
3. 模拟域管理员权限(无需加入空间)
如果你的服务账号已配置域范围授权,可直接模拟域管理员执行命令,管理员默认拥有查看所有Chat空间成员的权限:
- 确保服务账号已获得Chat API权限(
https://www.googleapis.com/auth/chat.admin.memberships.readonly或https://www.googleapis.com/auth/chat.memberships.readonly) - 使用管理员身份执行命令(替换
<admin-email>为你的域管理员邮箱):gam user <admin-email> print chatmembers space spaces/spaceID - 批量导出所有空间成员:
gam csv chatspaces.csv gam user <admin-email> print chatmembers space ~spaceId > all-space-members.csv
内容的提问来源于stack exchange,提问作者Mayuresh Jaiswal
相关产品推荐
相关产品推荐

