我决定升级我的Google智能助理操作以使用“dialogFlow V2 API”,我的webhook会返回这样的对象
{
"fulfillmentText": "Testing",
"fulfillmentMessages": [
{
"text": {
"text": [
"fulfillmentMessages text attribute"
]
}
}
],
"payload": {
"google": {
"richResponse": {
"items": [
{
"mediaResponse": {
"mediaType": "AUDIO",
"mediaObjects": [
{
"name": "mediaResponse name",
"description": "mediaResponse description",
"largeImage": {
"url": "https://.../640x480.jpg"
},
"contentUrl": "https://.../20183832714.mp3"
}
]
},
"simpleResponse": {
"textToSpeech": "simpleResponse: testing",
"ssml": "simpleResponse: ssml",
"displayText": "simpleResponse displayText"
}
}
]
}
}
},
"source": "webhook-play-sample"
}
但是我收到一条错误消息,说我的动作不可用,V2支持mediaResponse吗?我应该以不同方式格式化我的对象吗?同样,当我删除“mediaResponse”对象时工作得很好,助手会说simpleResponse部分 .
这个动作是在2018年3月中旬重新创建的,我读到了5月截止日期,这就是为什么我决定升级到V2,你认为我应该回到V1,我知道我将不得不删除它并重新创建但是那样就好 . 这是我在调试选项卡中看到的JSON对象的链接 . 再次感谢
我在我的操作dialogFlow控制台中设置"API V2",这是该设置的screenshot
这是我的行动集成的screenshoot - > Google智能助理
谢谢Allen,是的我确实有 "expectUserResponse": false
,我添加了你推荐的建议对象,但遗憾的是没有任何改变,我仍然收到此错误Simulator debug tag details
1 回答
首先 - 这不是Dialogflow V2的问题 . 你似乎也混淆了Google V1上的Actions的日落和Dialogflow V2的发布 - 它们完全是两个不同的生物 . 如果您的项目使用的是AoG V1,则会在Actions集成屏幕上设置一个设置,而不是 .
如果要移动到Dialogflow V2,则可以,但不是必需的 . Media绝对适用于Dialogflow V2 .
在RichResponse中的任何其他项之前,
items
数组必须首先包含simpleResponse
项 . (你也不应该包括ssml
和textToSpeech
- 只是其中之一 . )你也不需要fulfillmentText
和fulfillmentMessages
组件,因为它们是由richResponse
提供的 .除非您将
expectUserResponse
设置为false,否则还需要包含建议芯片 . 在模拟器调试中的某个地方可能是一个块所以更像这样的东西应该有效: