Dialogflow + Действия в Google Webhook запрос не отправляется
У меня небольшая (большая) проблема с использованием webhook в Dialogflow (API.AI) и Actions в Google.
Я включил webhooks на Dialogflow, и я получаю запросы при попытке мои намерения на их консоли (в правой части страницы). Я также выполнил действия по интеграции с Google (настройка приветствия + автоматическое распространение изменений).
Однако всякий раз, когда я пробую свое приложение в приложении Google Assistant (телефон /google home/ их симулятор), я не получаю никакого запроса на свой сервер (даже 404), но их отладчик показывает эту ошибку:
status": {
"code": 206,
"errorType": "partial_content",
"errorDetails": "Webhook call failed. Error: 404 Not Found"
},
У кого-нибудь была такая же проблема, или знает решение этой проблемы? Я знаю, что это не мой конец, так как запросы диалогового потока приходят и правильно отвечают.
3 ответа
Ответ Джо дал мне подсказку, которая решила мою проблему.
В моем случае webhook не работает после того, как я включил его для своего агента, поэтому я переключился на другого агента в консоли DialogFlow (в верхнем левом углу), затем переключился обратно на свой рабочий агент, нажал Fulfillment и обнаружил, что он загадочным образом отключен.!
То, что я сделал, было повторно включено и снова вошло в ссылку webhook, затем нажмите "Сохранить". После этого это сработало.
Надеюсь это поможет.
Хорошо, я не помечаю это как решенное, потому что я считаю, что есть много "ошибок" в реализации между Dialogflow и Actions в Google.
Обратите внимание, что это работает, если вы получаете запросы веб-крючка из консоли Dialogflow (справа на странице), но НЕ от действий в симуляторе Google.
1) Попробуйте изменить название приложения в разделе "Информация" в разделе "Действия" в Google и отправлять сообщения от помощника Google с просьбой Talk to <new_app_name>
2) Попробуйте открыть другой проект из выпадающего меню "Действия в Google" (вверху справа) и открыть первый после (думаю, это вызывает некоторую перезагрузку на оборотной стороне)
3) Попробуйте оба
Это работало на меня
Возможно, вы указали ссылку на вкладке выполнения для URL-адреса веб-перехватчика, начинающегося с http. Внутренняя архитектура Dialogflow отклоняет ссылки, которые начинаются с http. Пожалуйста, сделайте https, и он будет работать. У меня это сработало.
Я столкнулся с той же проблемой, когда "Выполнение" не было сохранено, даже если отображается успешное сообщение. В моем случае я сохранил только одну вкладку Dialogflow (остальные закрыл) и, нажав несколько раз на кнопку Save, обновил страницу и убедился, что webhook все еще включен. Затем протестировал приложение на симуляторе и получил почтовый запрос на мой сервер!
Пожалуйста, убедитесь, что следующие пункты:
(1) вы должны заполнить все параметры в разделе " Справочная информация" (вы можете найти эту информацию на левой панели actionOnGoogle).
(2) ваш URL-адрес Webhook должен быть действительным URL-адресом HTTPS.
(3) убедитесь, что ваш сервер прослушивает запрос на публикацию, так как dialogFlow или actionOnGoogle отправит запрос POST по указанному URL-адресу выполнения.