首页 文章

Google Home dialogFlow V2 API mediaResponse无效

提问于
浏览
1

我决定升级我的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 回答

  • 1

    首先 - 这不是Dialogflow V2的问题 . 你似乎也混淆了Google V1上的Actions的日落和Dialogflow V2的发布 - 它们完全是两个不同的生物 . 如果您的项目使用的是AoG V1,则会在Actions集成屏幕上设置一个设置,而不是 .

    如果要移动到Dialogflow V2,则可以,但不是必需的 . Media绝对适用于Dialogflow V2 .

    在RichResponse中的任何其他项之前, items 数组必须首先包含 simpleResponse 项 . (你也不应该包括 ssmltextToSpeech - 只是其中之一 . )你也不需要 fulfillmentTextfulfillmentMessages 组件,因为它们是由 richResponse 提供的 .

    除非您将 expectUserResponse 设置为false,否则还需要包含建议芯片 . 在模拟器调试中的某个地方可能是一个块

    {
            "name": "MalformedResponse",
            "debugInfo": "expected_inputs[0].input_prompt.rich_initial_prompt: Suggestions must be provided if media_response is used..",
            "subDebugEntryList": []
          }
    

    所以更像这样的东西应该有效:

    {
        "payload": {
            "google": {
                "richResponse": {
                    "items": [
                        {
                            "simpleResponse": {
                                "textToSpeech": "simpleResponse: testing",
                                "displayText": "simpleResponse displayText"
                            },
                            "mediaResponse": {
                                "mediaType": "AUDIO",
                                "mediaObjects": [
                                    {
                                        "name": "mediaResponse name",
                                        "description": "mediaResponse description",
                                        "largeImage": {
                                            "url": "https://.../640x480.jpg"
                                        },
                                        "contentUrl": "https://.../20183832714.mp3"
                                    }
                                ]
                            }
                        }
                    ]
                    "suggestions": [
                        {
                            "title": "This"
                        },
                        {
                            "title": "That"
                        }
                    ]
                }
            }
        },
        "source": "webhook-play-sample"
    }
    

相关问题