Dialogflow V2 API说我的Webhook响应为空

时间:2018-10-08 12:41:37

标签: google-api webhooks dialogflow fulfillment

我正在尝试使用Dialogflow V2 API添加两个数字,为​​此,我设置了具有HTTPS访问权限的Web服务器以完成请求。在Dialogflow控制台的“诊断信息”屏幕中,我可以看到来自远程服务器的“履行响应”:

{
  "fulfillmentText": "the sum of 5 and 9 is 14",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "the sum of 5 and 9 is 14"
        ]
      }
    }
  ],
  "source": "-------.com",
  "payload": {
    "google": {
      "expectUserResponse": 1,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "the sum of 5 and 9 is 14"
            }
          }
        ]
      }
    },
    "facebook": {
      "text": "the sum of 5 and 9 is 14"
    },
    "slack": {
      "text": "the sum of 5 and 9 is 14"
    }
  },
  "outputContexts": [
    {
      "name": "-----892446d1-----",
      "lifespanCount": 1,
      "parameters": {
        "number": 5,
        "number1": 9
      }
    }
  ]
}

已根据文档https://dialogflow.com/docs/intro/fulfillment中给出的示例进行了改编,但在Raw API响应中,我看到了:

"webhookStatus": {
    "code": 3,
    "message": "Webhook call failed. Error: Webhook response was empty."
  }

很显然,该响应并非为空,如在诊断信息中所见。是否有人对导致这种情况的原因有任何想法?

谢谢

1 个答案:

答案 0 :(得分:0)

我们可以在google.rpc package错误代码

中找到代码的定义。
  

“代码”:3

表示“ INVALID_ARGUMENT”

  

//客户端指定了无效的参数。请注意,这是不同的
  //来自FAILED_PRECONDITIONINVALID_ARGUMENT表示参数   //无论系统状态如何,都存在问题//   (例如,格式错误的文件名)。

例如,根据request format的“ outputContexts”字段中的“ parameters”字段,其格式应为“ param”:“ param value”,在您的请求中看起来像“ param”:param value。

请检查您请求中的所有参数。