我在 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/