Google Chat对话框及斜杠命令对话框失效问题求助
Google Chat斜杠命令对话框失效的修复方案
问题分析
你遇到的CORS错误指向Google的invoke_dialog端点缺少Access-Control-Allow-Origin头,且官方示例也无法正常运行,大概率是部署配置、服务状态或权限设置出了问题,以下是针对性修复步骤:
检查Google Workspace服务状态
先确认Google Workspace的Chat服务是否存在临时故障,这类端点级的CORS问题有时是Google侧的服务波动导致,等一段时间再测试,或确认服务恢复后重试。重新配置Apps Script部署
旧的部署可能存在兼容性问题,建议重新创建部署:- 打开Apps Script编辑器,点击右上角「部署」→「新建部署」
- 部署类型选「Web应用」
- 执行权限设为「任何人,甚至匿名」(内部团队用的话可选「组织内任何人」)
- 复制新生成的部署URL,替换Chat应用配置里的旧URL
手动添加CORS响应头
给Apps Script的响应显式设置CORS头,覆盖默认配置的可能异常:function onSlashCommand(e) { const dialog = CardService.newDialog() .setHeader(CardService.newCardHeader().setTitle("示例对话框")) .addCard(CardService.newCard() .addSection(CardService.newCardSection() .addWidget(CardService.newTextParagraph().setText("这是对话框内容")))); return ContentService.createTextOutput(JSON.stringify(dialog.build())) .setMimeType(ContentService.MimeType.JSON) .setHeader('Access-Control-Allow-Origin', 'https://chat.google.com') .setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS') .setHeader('Access-Control-Allow-Headers', 'Content-Type'); }验证Chat应用权限配置
登录Google Cloud控制台,找到你的Chat应用:- 检查「OAuth同意屏幕」是否完成配置,确保
chat.bot等必要权限已添加(内部应用无需公开审核) - 确认应用处于「已发布」状态,未发布的应用会有访问限制
- 检查「OAuth同意屏幕」是否完成配置,确保
清除缓存并测试
清除浏览器中Google Workspace相关的缓存和Cookie,用隐私模式打开Chat测试,排除插件或缓存干扰
内容的提问来源于stack exchange,提问作者Ravi Anantharamaiah
相关产品推荐
相关产品推荐

