Отклик диалогового потока: действия на Google - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть ответ, который имеет простой ответ с BasicCard. Ответ от диалогового потока помощнику Google выглядит следующим образом:

"payload": {
        "google": {
            "expectUserResponse": true,
            "richResponse": {
                "items": [
                    {
                        "simpleResponse": {
                            "textToSpeech": "Can you tell your TV's model number? (Eg. 42PFL7008S/12)",
                            "displayText": "Can you tell your TV's model number? (Eg. 42PFL7008S/12)"
                        },
                        "basicCard": {
                            "image": {
                                "url": "https://",
                                "accessibilityText": "The model number can be found here "
                            },
                            "title": "The model number can be found on here,
                            "subtitle": "It is also called Set-Type,"
                        }
                    }
                ],
                "suggestions": []
            }
        }
    }

В ответе GA, Simulator я получаю следующую ошибку:

expected_inputs[0].input_prompt.rich_initial_prompt: the first element must be a 'simple_response', a 'structured_response' or a 'custom_response'.

Ответ GA Я не вижу простой ответ в симуляторе. Где-то простой ответ отбрасывается .. Есть ли какой-либо недостаток в этом ответе от DialogFlow?

1 Ответ

0 голосов
/ 05 декабря 2018

Проблема заключается в том, что каждый объект в массиве items[] должен иметь одно поле, которое указывает, какой тип элемента.Таким образом, один элемент будет иметь атрибут simpleResponse с соответствующими значениями.Другой элемент будет иметь атрибут basicCard со всеми значениями для него.

Кажется, у вас есть один объект в массиве items[] с двумя атрибутами: simpleResponse и basicCard.Разделите их на два объекта в массиве.Как то так:

                "items": [
                    {
                        "simpleResponse": {
                            "textToSpeech": "Can you tell your TV's model number? (Eg. 42PFL7008S/12)",
                            "displayText": "Can you tell your TV's model number? (Eg. 42PFL7008S/12)"
                        }
                    },
                    {
                        "basicCard": {
                            "image": {
                                "url": "https://",
                                "accessibilityText": "The model number can be found here "
                            },
                            "title": "The model number can be found on here,
                            "subtitle": "It is also called Set-Type,"
                        }
                    }
                ],
...