我正在尝试使用 Java DialogFlow API 为 Google Assistant 构建 webhook 响应。我的响应在 DialogFlow 的“立即尝试”功能中运行良好,但 Google 智能助理一直说“现在没有响应。稍后再试”。
作为一项实验,我设法通过使用非 webhook 响应(即通过正常的 DialogFlow Intent UI)让 Google Assistant 工作。当我查看我的历史记录时,我看到工作响应如下所示:
"queryText": "GOOGLE_ASSISTANT_WELCOME",
"action": "input.welcome",
"fulfillmentMessages": [
{
"text": {
"text": [
"[{\"type\":\"simple_response\",\"platform\":\"google\",\"textToSpeech\":\"Hello\"}]"
]
}
}
这对我来说似乎很奇怪,因为文本正文实际上是一个进一步的 JSON 编码对象(在其他字段中包含 textToSpeech)。当我像这样使用 Java DialogFlow API 时:
List<String> texts = new ArrayList<>();
texts.add( "Foo" );
message.setText( new GoogleCloudDialogflowV2IntentMessageText().setText( texts ));
我得到一种不同的格式:
"fulfillmentMessages": [
{
"text": {
"text": [ "Foo" ]
}
}
谷歌助理说:
MalformedResponse: Failed to parse Dialogflow response into AppResponse because of empty speech response"
即使我尝试强制将编码的 JSON 字符串作为我的文本正文,它似乎仍然不起作用。
返回默认消息格式以便 Google 智能助理可以阅读的正确方法是什么?我试过simpleResponse了,但也没用
holdtom
相关分类