1

我想使用 Google Apps 脚本和 Hello sign API 创建一个新的 API 应用程序

我已将重定向 URL 指定为https://script.google.com/macros/s/AKfycbyKw3oLmpqINGsDml281iUbxBboKn950dqVFXNibMfLurxYcRPf/exec,屏幕截图如下所示

此外,应用程序脚本文件的代码是

function doPost(e) {
return ContentService.createTextOutput("Hello API Event Received.");
}

文档说:https ://app.hellosign.com/api/eventsAndCallbacksWalkthrough

我收到如下所示的错误消息

插图图片在这里

4

2 回答 2

1

405( ) 是“不允许的方法”,其中使用了不正确的方法。在这种情况下,ContentService使用一种特定的重定向模式(wiki),其中对的POST请求script.google.com被重定向(302)到一个一次性的 url script.googleusercontent.comGET应该向其发出请求。

302规范并没有打算将方法从 更改POSTGET,但这种模式在 web.xml 中很常见。但是,似乎向.POST 的一次性重定向 url 发出另一个请求script.googleusercontent.com。您无法从应用程序脚本中更改此行为。可以更改为HtmlService以避免重定向,但 Hellosign 特别要求您提供特定的文本内容作为响应:Hello API Event Received。这是不可能的HtmlService

您可以向 Google发出功能请求/错误修复请求,将重定向状态更改为303GET ,其中明确指定了方法更改为。或者向 Hellosign 发出请求以通过请求跟随302重定向GET,因为这是最常见的方式,事情是在网络中完成的。

参考:

于 2020-08-31T18:13:34.300 回答
0

查看我们的后端日志,我们看到您的回调 URL 不允许我们的 POST 调用被授予获取“Hello API Event Received”响应。这可能是由于您的 [回调处理程序设置][1] 的方式。

您是否介意看看这个类似的问题,他们处理 POST/Allow标头字段的方式,并通过发送电子邮件至 apisupport@hellosign.com 让我们知道它是如何进行的?

尝试发送 POST 请求时,应用脚本发送 405 响应

[1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405#:~:text=The%20HyperText%20Transfer%20Protocol%20(HTTP,supported%20by%20the %20目标%20资源。

于 2020-08-31T18:09:50.317 回答