Мой Алекс умение консультирует API и возвращает некоторые данные, разные данные в соответствии с запросом. Это написано в node.js. И это работало в течение нескольких лет.
Затем он перестал отвечать на первый раз, когда спрашивал. Теперь он вообще не разговаривает со мной. И все же карта покорно появляется на моем телефоне, показывая, что данные извлекаются, все в порядке.
Я только что зарегистрировал объект ответа, который возвращает лямбда, и он выглядит хорошо для меня. Вот оно:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "as of 06:34 unofficial range estimate is Between 82 and 131 miles"
},
"card": {
"type": "Standard",
"title": "Battery status for Leaf1malc",
"text": "As of:\t2020/03/23 06:34\nYou have 78.93% battery or 11 out of 12 bars\nGOM Estimate\t103 A/C on, or 109 A/C off\nCynical estimate\tBetween 82 and 131 miles\n\tThe car is not plugged in.",
"image": {
"largeImageUrl": "https://gb.nissanconnect.eu/Content/static/images/nissan/my-leaf.jpg"
}
},
"shouldEndSession": true
}
Все это работает, как и ожидалось, как в лямбда-тесте, так и в консоли разработки навыков Alexa.
Я только что переработал код для использования asyn c и await . Это было в надежде обуздать обычную путаницу цепочек обратных вызовов, чтобы облегчить отладку. Как только я запустил это, все вернулось к поведению, которое я получил в первую очередь.
Я погуглил и больше никого не могу найти с этой проблемой. И это появилось до каких-либо изменений в моем коде, хотя мне пришлось обновить версию node.js, так как Amazon жаловался, что Lambda использует испорченную версию.
Текущая версия node.js - 10.
Пожалуйста, посмотрите на мой объект ответа и посмотрите, что я делаю неправильно.
пс. Только что попробовал с SSML, все еще без голоса.