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

如何用Office Script发送Webhook?Excel对接Zapier无请求体数据问题

Excel Script对接Zapier Webhook收不到请求体数据的解决方法

问题分析

你当前用XMLHttpRequest发送JSON数据到Zapier的Catch Hook,但Zapier无法获取请求体内容,核心原因是Excel Script的执行生命周期特性:默认同步执行的脚本会在send()调用后直接结束,异步的XMLHttpRequest请求可能还未完成就被终止,导致数据没成功发送。

解决方案

改用基于Promise的fetch API,并将main函数声明为异步,确保请求完成后脚本才结束。修改后的代码如下:

async function main(workbook: ExcelScript.Workbook) {
  const zapierHookUrl = "https://hooks.zapier.com/hooks/catch/2251620/bv6gjw6/";
  const payload = { "value1": "test data" };

  try {
    const response = await fetch(zapierHookUrl, {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify(payload)
    });

    // 可选:打印响应状态,用于调试
    console.log("请求状态:", response.status);
    console.log("响应内容:", await response.text());
  } catch (error) {
    console.error("请求失败:", error);
  }
}

额外检查项

  • 确认Zapier的Catch Hook触发器配置为接收POST请求,且数据格式设置为JSON
  • 先用Postman直接发送相同的JSON请求到Hook地址,验证Zapier是否能正常接收,排除Hook地址或Zapier配置问题
  • 若仍有问题,可在Zapier的Hook历史中查看请求详情,检查请求头和请求体是否正确传递

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:20:47