我正在尝试使用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."
}
很显然,该响应并非为空,如在诊断信息中所见。是否有人对导致这种情况的原因有任何想法?
谢谢
答案 0 :(得分:0)
我们可以在google.rpc package错误代码
中找到代码的定义。“代码”:3
表示“ INVALID_ARGUMENT”
//客户端指定了无效的参数。请注意,这是不同的
//来自FAILED_PRECONDITION
。INVALID_ARGUMENT
表示参数 //无论系统状态如何,都存在问题// (例如,格式错误的文件名)。
例如,根据request format的“ outputContexts”字段中的“ parameters”字段,其格式应为“ param”:“ param value”,在您的请求中看起来像“ param”:param value。
请检查您请求中的所有参数。