2016-12-28 2 views
2

Можно ли как-то позвонить в веб-службу, которая может задать вопрос и получит ответ?Подключить веб-сервис, который может задавать вопросы и получать ответы?

Позвольте мне объяснить: У меня дома есть медиацентр с некоторыми фильмами. Со временем это изменяет контент: файлы добавляются, удаляются, переименовываются и так далее.

Теперь я хотел бы сказать, например, «Эй, Google, играй волшебник из унции», а затем волшебник унции должен играть на моем телевизоре.

Поскольку я знаю, как развиваться в .NET, веб-сервис, работающий дома, уже существует и отлично работает, фильмы начинаются. И я думаю, благодаря API.ai, я должен был бы подключить его через функцию webhook к Google Домой.

Но что делать, если есть несколько результатов, и я хочу спросить, какой результат следует выбрать? Например: говорит

  1. пользователя «Играть Звездные войны»
  2. Google Home называет свой веб-сервис, который проверяет мой диск и узнает, что существует множество фильмов Star Wars.
  3. Теперь пользователю нужно спросить «Есть несколько результатов. Который бы вы хотели видеть? Звездные войны: новая надежда,« Звездные войны: империя наносит ответный удар »...
  4. Пользователь сейчас ответы «Звездные войны: новая надежда»
  5. Google Home снова вызывает веб-службу с этой информацией, и после успеха он отвечает «Хорошо, играя в« Звездные войны: новая надежда ».

Я не узнал, как это сделать с API.ai. Насколько я понимаю, API.ai вызывает веб-службу с некоторыми параметрами (JSON), отправляет текст ответа, полученный от веб-службы, обратно в Google Домой, а затем просто заканчивается.

Или я что-то пропустил? Вы, ребята, знаете, как я мог бы достичь этого сценария?

Или мы можем как-то разработать наши частные услуги, такие как те, которые перечислены в приложении Google Home (Akinator, Dominos, CNBC, ...) или это возможно только в качестве партнера? Было бы неплохо на самом деле.

Заранее благодарен!

+0

У вас есть шаблон, что код .NET Webhook выглядит? в частности, я хочу знать, как анализировать входящий запрос и как обрабатывать исходящий ответ. –

ответ

2

Как я понимаю, API.ai называет веб-службы с некоторыми параметрами (JSON), передает текст ответа, полученные от веб-службы обратно в Google Home, а затем просто заканчивается.

бот по-прежнему под контролем, если вы не отправить с вашего веб-сервиса:

data: { 
    google: { 
    expect_user_response: false, 
} 
} 

или этот флажок в API.AI в умысел панели

enter image description here

Если вы используете ActionsSDKAssistant, убедитесь, что вы используете правильный метод. Спросите против Скажите

https://developers.google.com/actions/reference/ActionsSdkAssistant#ask https://developers.google.com/actions/reference/ActionsSdkAssistant#tell

+0

, который был подсказкой, которую я искал! спасибо, не нашли эту информацию нигде :-) – Pandora

+0

Добро пожаловать! – SysCoder

2

Вам необходимо изучить API, формат запроса/ответа api.ai webhook и реализовать его. Взгляните на учебник this. Тогда, конечно, вам нужно будет выбить дыру в вашем брандмауэре, чтобы иметь возможность принимать звонки от Google или использовать ngrok или BST proxy.

+0

спасибо - я думаю, это не очень помогает :), как указано, я знаю, как ответить. но я не понял, как что-то попросить от веб-службы, получить ответ и снова ответить с веб-службы. Я знаю, что часть переадресации портов уже работает. – Pandora

+0

О, извините за недоразумение. SysCoder прав. На самом деле это то, что я имел в виду, изучая API. Вы либо используете SDK узла, либо просто создаете ответ JSON самостоятельно. –