Выполнить http-запрос с локального устройства с помощью DialogFlow

#http #dialogflow-es #webhooks #actions-on-google

#http #dialogflow-es #веб-ссылки #действия в Google

Вопрос:

Я новичок в DialogFlow, и я даже не знаю, возможно ли то, чего я хочу достичь.

Я пытаюсь создать намерение DialogFlow, которое выполняло бы HTTP-запрос с пользовательского устройства после получения заданной команды. Я знаю, как это сделать с помощью webhooks, но проблема в том, что HTTP-запросы webhooks поступают с серверов Google, а не с пользовательского устройства.

Причина, по которой я хочу, чтобы запрос поступал с пользовательского устройства, заключается в том, что приемник будет прослушивать только локальную сеть (это веб-сервер, работающий в интернет-маршрутизаторе). Таким образом, это сработает, только если HTTP-запрос поступает с устройства, подключенного к маршрутизатору.

Обходным путем могло бы стать создание общедоступного туннеля к маршрутизатору (с помощью программ, таких как ngrok), но мое приложение предназначено для реальных пользователей, поэтому я бы предпочел избежать этой сложной настройки.

Возможно ли выполнять локальные запросы с помощью DialogFlow? Или есть другой Google-Assistant API, который я мог бы использовать для этой цели, например, Google IoT solution?

Спасибо

Ответ №1:

Вы могли бы это сделать, но необязательно делать это как обычный проект Dialogflow. Вот шаги:

  1. Создайте свое действие с помощью Dialogflow и добавьте веб-выполнение
  2. Добавьте способ отправки какого-либо уведомления на ваше локальное устройство
    • Это может быть прослушивание базы данных, опрос, push-уведомления и т.д.
  3. Когда ваше устройство получает это уведомление, оно выполняет действие локально
  4. Если вы хотите, чтобы ответ на это локальное действие был отправлен обратно, вы могли бы обновить webhook с помощью HTTP-ответа (при выполнении HTTP-вызова) или обновить поле в облачной базе данных.
    • Время ожидания действий составляет около 5 секунд для получения ответа, поэтому помните об этом ограничении, если вы хотите это сделать