无法从Twilio号码调用Google Apps脚本doPost()方法

时间:2017-12-05 21:22:04

标签: google-apps-script twilio

尝试通过我的Twilio号码接收短信,并根据收到的短信向Google Apps脚本应用URL发送POST请求。

我有这个doPost()消息:

function doPost(request) {

    return ContentService.createTextOutput("User says: "+JSON.stringify(request));
}

一些文本应该吐出包含请求数据。

我的doPost()方法永远不会被调用。我无法判断Twilio是否实际发送了POST请求。我在Twilio号码消息日志中看到Twilio收到了我的短信。但在那之后我无法分辨。我为webhook配置了Twilio号码 - HTTP POST,以及我的Google Apps脚本项目的已发布网址。如果我将其更改为HTTP GET,我的doGet()方法将被调用。我需要调用doPost()方法。有什么建议? TIA。

2 个答案:

答案 0 :(得分:1)

以下确认如何?

确认点:

  • 再次将Web Apps重新部署为新版本。
    • 更新脚本时,需要将Web Apps重新部署为反映更新的新版本。
  • 确认Web Apps的设置。
    • “执行应用程序:”是“我”。
    • “谁有权访问该应用:”是“任何人,甚至是匿名的”。
  • 使用Stackdriver检索request的日志。
    • 示例脚本如下。请复制并粘贴它。并重新部署Web应用程序。
    • 请求发布。
    • 在脚本编辑器上,单击“查看” - >堆栈驱动程序日志记录
    • 这样,当收到POST请求时,您可以看到日志。

示例脚本:

function doPost(request) {
  console.log(JSON.stringify(request)); // Here
  return ContentService.createTextOutput("User says: "+JSON.stringify(request));
}

通过上述确认,可以找到您的问题的原因。但如果这对你没用,我很抱歉。

答案 1 :(得分:0)

我决定只使用doGet()。请参阅我对上一条评论的回复。