Google Assistant上的格式错误的响应错误

时间:2019-06-28 09:32:51

标签: dialogflow actions-on-google dialogflow-fulfillment

我正在调用第三方API来获取数据。在API返回错误的情况下,我无法继续在Google助理上进行用户访问

我在Google Cloud Console中看到的错误如下:

  

“ MalformedResponse:错误ID:c316c2bc-be3b-4c8f-8d9b-2b45434a0325。   由于以下原因,无法将Dialogflow响应解析为AppResponse   无效的平台响应。 :找不到RichResponse或   平台对agentId的响应中的SystemIntent:   0bc4ed97-dfec-4936-b90d-28f047eb7b34和intentId:   3dcf4b35-00e0-4c75-815c-d1a76494e08e“

这是我的意图代码。

app.intent('askPin', (conv, params) => {

  conv.user.storage.pin_prompt_count = conv.user.storage.pin_prompt_count + 1;

  var member = services.getMemberDetails(memberId, params.account_pin);

  return member.then(function (result) {

    if (result) {
      conv.user.storage.pin_prompt_count = 0; //reset prompt count once verified
      conv.user.storage.account_pin = params.account_pin;
      conv.contexts.delete('account-pin-context');//delete context to pin intent will not be invoked again.

      return handleService(conv);
    }
  }).catch(function (err) {
    console.log("Paresh Varde 1");
    conv.ask("Invalid Pin. Please try again");
  })
});

这是我从日志中看到的响应

{
  "status": 200,
  "headers": {
    "content-type": "application/json;charset=utf-8"
  },
  "body": {
    "payload": {
      "google": {
        "expectUserResponse": true,
        "richResponse": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "Invalid Pin. Please try again"
              }
            }
          ]
        }
      }
    }
  }
}

我在firebase控制台(部署该功能的地方)中没有看到任何错误。但是,我在Google Cloud Console中看到如下错误:

MalformedResponse: ErrorId: c316c2bc-be3b-4c8f-8d9b-2b45434a0325. Failed to parse Dialogflow response into AppResponse because of invalid platform response. : Could not find a RichResponse or SystemIntent in the platform response for agentId: 0bc4ed97-dfec-4936-b90d-28f047eb7b34 and intentId: 3dcf4b35-00e0-4c75-815c-d1a76494e08e

我在模拟器上看到一条消息,提示“应用程序当前无响应。请稍后重试。”它离开了对话。

请告知。

1 个答案:

答案 0 :(得分:0)

问题是我的Webhook呼叫需要5秒钟以上才能完成。 Webhook必须在不到5秒的时间内完成其执行,才能正常工作并使对话流畅。

现在,我需要计算我的REST接口,以便我正在调用的API快速响应以达到此超时限制。