TypeScript调用Google REST API列Chat空间成员时遇Google Chat应用未找到错误
Google Chat API 列出成员失败的问题解决
问题根源
你碰到的「Google Chat app not found」错误,核心原因是只启用了Chat API,但没在Google Cloud控制台里创建并配置完整的Google Chat应用,另外权限范围和调用逻辑也需要调整。
具体修复步骤
1. 完成Google Chat应用配置
打开Google Cloud控制台,找到「Google Chat API」:
- 点击页面里的「配置」按钮,进入应用设置页
- 填写应用名称、上传头像等基础信息
- 切换到「功能」标签,开启空间访问相关的功能选项
- 到「权限」标签,设置应用的访问范围(比如允许访问你所在组织的空间)
- 保存配置,等待几分钟让设置生效
2. 调整权限范围
你当前用的chat.spaces权限只能管理空间,要读取成员得加上成员只读权限:
scopes: [ 'https://www.googleapis.com/auth/chat.spaces', 'https://www.googleapis.com/auth/chat.memberships.readonly' ],
3. 确认服务账号权限
- 对应
pmtest-112533-5b83338226fd.json的服务账号,要确保它被赋予了Chat应用的相关操作权限 - 如果是访问企业Workspace的空间,得在Workspace管理后台给这个服务账号开Chat管理员权限
4. 补充成员列表的调用逻辑
你现在的代码只获取了空间列表,要拿到每个空间的成员,还得调用成员列表接口:
async function getSpaceMembers(spaceId: string) { const client = await authenticate(); const chat = google.chat({ version: 'v1', auth: client }); return await chat.spaces.memberships.list({ parent: `spaces/${spaceId}` }); }
额外提示
如果是内部使用的应用,配置时选择「内部」发布类型就能快速生效;要是对外应用,还得通过Google的应用验证流程。
内容的提问来源于stack exchange,提问作者Kintaro OE
相关产品推荐
相关产品推荐

