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

求助:Appsheet Bot Webhook无法获取Google App Script Web App的JSON响应

解决Appsheet Bot调用Google Apps Script代理的Webhook解析错误问题
  • 检查Google Apps Script部署权限与链接

    • 确保Web应用部署时,访问权限设置为“任何人,甚至匿名”,执行权限可选“我自己”。如果权限受限,Appsheet Bot的请求会被拦截,导致跳转至script.googleusercontent.com且无法获取有效响应。
    • 重新部署脚本,复制生成的script.google.com/macros/s/xxx/exec链接,替换Appsheet Bot中的配置链接。
  • 严格校验代理返回的JSON格式

    • Appsheet对Webhook响应的格式要求极高,必须是无多余字符的纯JSON对象。确保你的doPost函数返回代码如下:
      function doPost(e) {
        // 处理Plate Recognizer的响应,提取plate字段
        const plateData = {plate: "提取到的车牌号码"};
        return ContentService.createTextOutput(JSON.stringify(plateData))
          .setMimeType(ContentService.MimeType.JSON);
      }
      
    • 用curl测试exec链接,确认响应头的Content-Type为application/json,响应内容仅为{"plate":"xxx"},无任何日志、换行或HTML内容。
  • 核对Appsheet Bot的配置细节

    • 确认Bot的Webhook请求方法为POST,与脚本的doPost函数匹配。
    • 检查响应映射配置:确保Appsheet中设置的字段(如plate)与代理返回的JSON键名完全一致,注意大小写敏感。
  • 添加日志调试请求与响应

    • 在脚本中添加日志记录,排查请求是否被正常接收、响应是否正确生成:
      function doPost(e) {
        console.log("Received request payload: " + JSON.stringify(e.postData));
        const processedResponse = {plate: "xxx"};
        console.log("Generated response: " + JSON.stringify(processedResponse));
        return ContentService.createTextOutput(JSON.stringify(processedResponse))
          .setMimeType(ContentService.MimeType.JSON);
      }
      
    • 查看Google Apps Script的执行日志,确认是否收到Appsheet Bot的请求,以及响应内容是否符合预期。
  • 关于script.googleusercontent.com的说明

    • 该链接是Google Web应用的中转URL,正常情况下访问exec链接会自动跳转至此。若Appsheet调用时出现解析错误,并非链接本身问题,而是权限配置错误或响应格式不符合要求导致的。

内容的提问来源于stack exchange,提问作者Tony Fong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:00:01