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

Apps Script doPost(e)无法接收Box Webhook的JSON数据排查

问题描述

我编写了如下简单代码:

function doPost(e) {
  Logger.log(JSON.stringify(e));
}

已将其部署为Web应用并复制了Web应用URL。在Box中创建Webhook应用后,填入该Apps Script Web应用URL作为地址,但触发Webhook时,Apps Script未记录任何日志,甚至无失败执行记录。

使用webhook.site的临时URL测试,可正常接收Box Webhook的JSON数据,因此判断问题出在Apps Script端。

补充信息

  • 使用企业邮箱,Web应用URL格式为https://script.google.com/a/macros/company.com/s/xxxx/exec(company.com为我方域名),尝试改为https://script.google.com/macros/s/xxx/exec后仍无效。
  • 部署配置的「访问权限」选项仅有「[公司名称]内部用户」,无「任何人」选项
  • 执行面板为空,仅显示我手动运行函数的记录

解决方案

1. 访问权限限制是核心原因

Box的Webhook请求来自外部第三方服务,不属于你公司内部用户范畴。当前Web应用仅允许内部用户访问,外部请求会被直接拦截,不会生成任何执行记录或日志——这就是你看不到任何反馈的根本问题。

2. 解决权限问题的步骤

由于你的Google Workspace环境被管理员限制了「任何人」访问选项,需按以下方式处理:

  • 联系Workspace管理员:申请调整Apps Script的部署权限配置,允许Web应用接受外部匿名请求。管理员可通过Workspace控制台的「应用脚本」权限设置,开启允许部署为“任何人,甚至匿名”的选项。
  • 临时替代方案(若无法修改权限):可添加一层公开可访问的转发服务(如Cloud Functions、轻量API网关),将Box的Webhook请求转发到内部Apps Script地址。但优先建议联系管理员调整权限,这是最直接的解决方式。

3. 权限调整后的验证操作

权限开放后重新部署Web应用时:

  • 确认选择「任何人,甚至匿名」作为访问权限
  • 复制新生成的Web应用URL(权限变更后部署会生成新URL)
  • 用curl命令测试外部POST请求,验证日志是否正常记录:
curl -X POST "你的Web应用URL" -d '{"test": "sample data"}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:19:57