Диалоговое окно с использованием AWS Lambda Webhook
Я пытаюсь использовать AWS Lambda в качестве веб-крюка для вызова диалогового потока. Я хочу использовать все библиотеки действий агента / Google.
Поэтому я скопировал пример кода и вставил его в Lambda, что мы получаем в консоли Dialogflow. Я установил все библиотеки npm. Но при тестировании я получаю эту проблему:
TypeError: Cannot read property 'result' of undefined
at new WebhookClient (/var/task/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:84:27)
at exports.dialogflowFirebaseFulfillment.functions.https.onRequest (/var/task/index.js:13:17)
at cloudFunction (/var/task/node_modules/firebase-functions/lib/providers/https.js:57:9)
Я разоблачил Lambda ранее, но так как это требование для Dialogflow, я не могу это сделать.
Примечание. Я передаю одну и ту же полезную нагрузку запроса в Google Cloud и AWS Lambda, Google Cloud возвращает правильный ответ, но Lambda возвращает ошибку, как указано выше.
Не уверен, что я пропустил какой-либо шаг или мое понимание здесь неверно.
Пожалуйста помоги.
0 ответов
Не могли бы вы также разместить здесь код для получения дополнительной информации?
Если вы установили необходимые библиотеки npm для диалогового окна, то, насколько я понимаю, он должен работать.
Также обратите внимание, если вы пытаетесь получить доступ к параметрам запроса ввода DialogFlow, таким как {"userId": string,"idToken " string}
он не будет доступен по умолчанию в лямбда-событиях, поэтому вы можете столкнуться с такими ошибками, как Cannot read property 'result.originalRequest.user.idToken' of undefined
.
Сначала вам нужно включить интеграцию с Google для целей выполнения, чтобы Google мог запрашивать у пользователей разрешение на отправку этих атрибутов в теле запроса.
Кроме того, поскольку этот вопрос был задан много месяцев назад, сообщите мне, была ли решена ваша проблема.