Actions on google 为什么转盘没有显示在控制台模拟器中?
我试图弄清楚如何将Google操作响应(如)嵌入DialogFlow的webhook响应中 我使用的是REST协议的V2,因此我在Actions on google 为什么转盘没有显示在控制台模拟器中?,actions-on-google,dialogflow-es,Actions On Google,Dialogflow Es,我试图弄清楚如何将Google操作响应(如)嵌入DialogFlow的webhook响应中 我使用的是REST协议的V2,因此我在源字段中填写谷歌上的操作,并且有效负载字段包含指定的谷歌操作字段(根据)。我谨作出以下答复: { "fulfillmentText":"This is a carousel.", "source":"ACTIONS_ON_GOOGLE", "payload":{ "conversationToken":"", "expectU
源
字段中填写谷歌
上的操作,并且有效负载
字段包含指定的谷歌操作字段(根据)。我谨作出以下答复:
{
"fulfillmentText":"This is a carousel.",
"source":"ACTIONS_ON_GOOGLE",
"payload":{
"conversationToken":"",
"expectUserResponse":true,
"expectedInputs":[
{
"inputPrompt":{
"initialPrompts":[
{
"textToSpeech":"This is a carousel."
}
],
"noInputPrompts":[
]
},
"possibleIntents":[
{
"intent":"actions.intent.OPTION",
"inputValueData":{,
"@type":"type.googleapis.com/google.actions.v2.OptionValueSpec"
"carouselSelect":{
"items":[
{
"optionInfo":{
"key":"key1",
"synonyms":[
"Option 1"
]
},
"title":"Option 1",
"description":"Option 2"
},
{
"optionInfo":{
"key":"key2",
"synonyms":[
"Option 2"
]
},
"title":"Option 2",
"description":"Option 2"
}
]
}
}
}
]
}
]
}
}
在控制台中尝试此操作时,不显示旋转木马。仅显示文本这是一个旋转木马。
。供您参考,我没有包括图像
字段,因为根据规范它是可选的,但即使有图像,也没有显示旋转木马
调试这个很困难,因为我的actions.intent.OPTION
intent没有显示在响应选项卡中的possibleIntents[]
数组中。我希望此actions.intent.OPTION
intent与Dialogflow响应生成的其他意图(如assistant.intent.action.TEXT
)合并
我做错了什么?我是不是在用Dialogflow REST协议的V2而不是V1来攻击自己的脚
囚犯最初反馈后更新
我尝试了以下回答,但仍然没有得到任何旋转木马:
{
"fulfillmentText":"Here you go.",
"source":"ACTIONS_ON_GOOGLE",
"payload":{
"expectUserResponse":true,
"richResponse":{
"items":[
{
"simpleResponse":{
"textToSpeech":"Here are your results."
}
}
]
},
"systemIntent":{
"intent":"actions.intent.OPTION",
"data":{
"carouselSelect":{
"items":[
{
"optionInfo":{
"key":"Option1",
"synonyms":[
"Option2"
]
},
"title":"Option3",
"description":"Option4"
},
{
"optionInfo":{
"key":"Option5",
"synonyms":[
"Option6"
]
},
"title":"Option7",
"description":"Option8"
}
]
},
"@type":"type.googleapis.com/google.actions.v2.OptionValueSpec"
}
}
}
}
我还尝试在Dialogflow中手动创建一个意图,返回一个“硬编码”的旋转木马(也就是说,没有实现回调),这个旋转木马显示得非常完美。因此,我确信控制台配置正确
我还将我的回答与中的回答进行了比较,但到目前为止还没有成功。你没有击中自己的脚,但你已经使一些已经有点复杂的事情变得更加复杂。有两件事需要注意:
有效载荷
与以前的数据相同,但其他字段的格式已更改
expectedInputs.PossibleContent
下的响应应该位于data.google.systemIntent
下。对于V2,这将是payload.google.systemIntent
inputPrompt
对象也进行了一定程度的重构,因此您应该发送一个richResponse
,其中包含一个simpleResponse
对象
更新我已经测试过了。这是应该返回的整个JSON。请注意,有效负载的内容
正是数据
的内容。source
字段被忽略,显然与有效负载无关
另请参见包含一些示例的
{
"payload": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "This is a carousel"
}
}
]
},
"systemIntent": {
"intent": "actions.intent.OPTION",
"data": {
"@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
"carouselSelect": {
"items": [
{
"optionInfo": {
"key": "key1",
"synonyms": [
"Option 1"
]
},
"title": "Option 1",
"description": "Option 2"
},
{
"optionInfo": {
"key": "key2",
"synonyms": [
"Option 2"
]
},
"title": "Option 2",
"description": "Option 2"
}
]
}
}
}
}
}
}
模拟器表面设置
确保模拟器设置为“手机”表面,而不是“扬声器”表面。选项不会显示在扬声器上
设置应如下所示:
不是这样的:非常有用的反馈,再次感谢。我很快就会试试。再次感谢!到目前为止,仍然没有运气。我用我的进度更新编辑了我的原始问题。这可能是一个愚蠢的问题(打字错误?),但我现在看不到。另一个更新:我复制了一些回复,但似乎都不起作用。仅显示/读取
fulfillmentText
中的文本。似乎总是忽略有效负载
。谷歌上的ACTIONS\u是否为源代码
正确(因为我假设这将表明有效载荷
是如何解释的)?事实证明我们对有效载荷
的内容是错误的。它需要与数据的文档完全相同。请参阅上面我的更新,以及指向github存储库的链接,并提供更多示例。感谢您的更新!这确实解决了问题,旋转木马现在已正确显示。谢谢,非常感谢您的反馈。