google-apps-script - Google Apps 脚本/工作表返回错误请求 400

标签 google-apps-script google-sheets google-spreadsheet-api

我在 Google Sheet 上运行了一个相当简单的脚本。

该脚本接受 webhook POST 并将 webhook 的内容作为电子表格中的新行写入。

该脚本确实按预期运行,并在收到数据时写入新行。

但是,由于某种原因,我发送 webhook 的应用程序会收到“错误请求 400”错误。即使脚本有效并且它做了它应该做的事情。

这是一个 fiddle我正在使用的脚本。

如果我手动调用它,我会得到 200 响应:

var response = UrlFetchApp.fetch("https://script.google.com/macros/s/AKfycbx5ubu78yi5sj2D9z-2m3Wqog604wY1ENwP3pZstnB95Mc5_N3b/exec", options);

这是一个 landing page上面有一个表格。当您提交表单时,表单数据会通过 webhook 推送到 Google Sheet。 (单击“单击我测试此脚本”以查看表单,如果提交,您将看到实际的工作表。)

最佳答案

您可以使用 fetch(url, params) 解决此问题。将 muteHttpExceptions 选项设置为 true 的 UrlFetchApp 类的方法。下面是一个 post 请求的例子。

var options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(ObjectToSend),
    'muteHttpExceptions':true,
};

var noMancoResponse = UrlFetchApp.fetch('URL', options);
console.log("Status Code: " + String(noMancoResponse.getResponseCode()));

希望这可以帮助!

关于google-apps-script - Google Apps 脚本/工作表返回错误请求 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36742212/

相关文章:

google-sheets - (Google sheets) 从 url inject 查询并返回多个表

google-apps-script - Google Apps 脚本 - 设置修订历史记录

google-apps-script - appmaker 中的 Accordion

google-apps-script - "MMMM yy"- 谷歌电子表格中的日期

java - 使用 Java 的 OAuth 2.0 和 Google Spreadsheet API 的示例是什么?

.net - 如何使用由 ServiceAccountCredential 认证的 SpreadsheetsService?

javascript - 用于评估值并分配单元格值的 Google 自定义脚本

google-apps-script - Google Apps 脚本电子表格范围处理(Get-Process-Set;Set 不工作)

google-sheets - 基于前一个单元格的条件格式

javascript - 测试为附加组件不起作用