我看到一种奇怪的行为。我发送了一张包含一些信息的基本卡,但无论expectUserResponse json标志如何,Google Talk中的会话都没有关闭。怎么会?这是一个错误吗?有人可以证实吗?
返回包含卡片的JSON:
{
"data": {
"google": {
"expectUserResponse": false,
"systemIntent": {
"intent": "actions.intent.TEXT"
},
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Some text",
"displayText": "Some text"
}
},
{
"basicCard": {
"title": "A title",
"formattedText": "A long text",
"buttons": [
{
"title": "Title button",
"openUrlAction": {
"url": "http://www.google.com"
}
}
]
}
}
]
}
}
}
}
(来自https://plus.google.com/102582215848134314158/posts/PG3NbHG9dsr)
答案 0 :(得分:2)
问题在于您指定systemIntent
。这表示应该用于处理响应的系统Intent 。
但您不想处理回复,因为您已尝试使用"expectUserResponse": false
进行回复。
鉴于信息冲突 - 它选择遵守systemIntent
设置并等待响应。
解决方案是完全删除systemIntent
部分。一般情况下,除非您要求许可或其他帮助者Intent之一,否则无论如何都可以将此部分保留,因为您使用的是API.AI。