我通过API.AI
将Google上的操作(在我的Android上)连接到我的webhook当用户订购时,比如在线披萨,API.AI会创建一个后备意图,而webhook会发送一个带有Carousel的json。
这很好用。如果用户点击Carousel项目,响应也会发送到webhook。
我通过询问"多少个比萨饼和#34;来回应这个点击。并使用建议芯片。
但是,API.AI中没有激活后备意图,应用程序崩溃。
之前,我给旋转木马选择了一个简单的文字回复"感谢您的订单"它正在发挥作用。
有人可以帮我解决这个问题吗?
我意识到问题不在API.AI或后备意图中,而是在我发送的JSON中。如果我使用简单的文本/语音响应回复用户在Carousel中的选择,则它可以正常工作。如果我再次发送Carousel芯片也可以。但是,如果我尝试发送列表或卡片,它会崩溃。也许,我没有正确的json格式。
如果有人通过他们的webhook(使用API.AI)发送任何json用于列表/建议芯片或卡片,那将非常有用!
@matthewayne当我发送以下内容作为回复(json)时,它有效:
speech = "Thank you. People also looked at these:"
print(speech)
webhook_result={
"speech": speech,
"contextOut": [
{
"name": "_actions_on_google_,complementary",
"lifespan": 100,
"parameters": {}
}
],
"data": {
"google": {
"expectUserResponse": True,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": speech
}
}
],
"suggestions": []
},
"systemIntent": {
"intent": "actions.intent.OPTION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
"carouselSelect": {}
}
}
}
}
}
我还用carousel中的东西列表填充carouselSelect。但如果我将其更改为listSelect,并做出响应,它就会崩溃。
当我说崩溃时,这意味着Google说我的应用已停止响应。
拥有一个模板或示例listResponse json。
非常有帮助答案 0 :(得分:0)
在向用户发送轮播响应之后,将要发送的下一个请求可能是列表选择事件。你需要处理这个:
actions_intent_OPTION
创建一个意图,docs here)