首页 文章

Dialogflow无法解析来自Google Apps脚本的Webhook响应

提问于
浏览
0

当我尝试将Google Apps脚本的webhook响应传递给Dialogflow时,我收到以下错误 . Full debug log .

Webhook call failed. Error: Failed to parse webhook JSON response: 
Expect message object but got: \\\"<HTML>\\\

以下是我的Google Apps脚本的摘录 .

function doPost(e) {
    var myData = JSON.parse(e.postData.contents);
    ...
    ...
    var replyJSON = ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);
    return replyJSON;
}

我使用Postman来检查我的Google Apps脚本是否正在返回JSON(它是) .

{
    "fulfillmentText": "Hello",
    "fulfillmentMessages": [{
        "text": {
            "text": [
                "Hello"
            ]
        }
    }],
}

我按照Dialogflow v2 API documentation正确格式化了响应JSON .

我可以't figure out what'错了 . 我很难创建自定义webhook响应,但Dialogflow文档是 awful .

任何帮助,将不胜感激 .

编辑:Google Web App已发布,可以匿名使用 .

编辑编辑:来自Stackdriver的更多logs .

1 回答

  • 0

    我不认为这是一个重定向问题 . 也许你的JSON在处理之后会出错(你省略的行) . 尝试将doPost测试为回声以查看它是否有效:

    function doPost(e) {
          var content = JSON.parse(e.postData.contents);
    
          return ContentService
                  .createTextOutput()
                  .setMimeType(ContentService.MimeType.JSON)
                  .setContent(JSON.stringify(content));
    }
    

相关问题