Dialogflow v2 API + Actions v2 API:必须设置 MalformedResponse 'final_response'

Dialogflow v2 API + Actions v2 API: MalformedResponse 'final_response' must be set

我正尝试着手开发 Google Actions v2 API 和 Dialgoflow v2 API。

我有以下示例(到目前为止在 Dialogflow -> Fulfillment Webhook 中)取自官方 Google Actions Migration Guide,但不幸的是我不断收到 MalformedResponse 'final_response'必须设置错误。

'use strict';

const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');

const app = dialogflow();

app.intent('Default Welcome Intent', conv => {
  conv.ask('How are you?');
});

exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

响应是:

{
  "responseMetadata": {
    "status": {
      "code": 13,
      "message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
      "details": [
        {
          "@type": "type.googleapis.com/google.protobuf.Value",
          "value": "{\"id\":\"542fe4a8-6017-429f-81c3-61ba568e3659\",\"timestamp\":\"2018-04-19T20:16:25.606Z\",\"lang\":\"en-us\",\"result\":{},\"status\":{\"code\":200,\"errorType\":\"success\"},\"sessionId\":\"1524168985362\"}"
        }
      ]
    }
  }
}

请问为什么会这样?

更改此行:

conv.ask('How are you?');

对此:

conv.close('How are you?');

close 方法为您配置所需的 final_response 字段