2017-02-13 7 views
0

Я использую AWS Lambda и Python для ответа на запросы веб-хоста API.AI.API.AI для Google Home - что должно быть в webhook, чтобы инициировать привязку аккаунта?

Я создал несколько действий Google с этим стеком, и они работают нормально.

Я хочу начать учетную запись в середине разговора в Google Домой. Документация, предоставленная Google, предполагает, что я использую SDK Node.js, которого нет.

Что нужно вернуть в ответ API веб-хоста API.AI, чтобы инициировать привязку учетной записи?

Если некоторые из них используют Node.js, они могут распечатать объект ответа, возвращенный их webhook, чтобы я знал, какие параметры должна вернуть моя функция лямбда, что ответит на этот вопрос.

- UPDATE Эта страница Actions API Google https://developers.google.com/actions/reference/conversation делает его очень ясно, как запросить информацию oauth2 счета через действия Google API.

Однако, я использую API.AI. Как мне отформатировать ответ веб-чек на API.AI, чтобы запрашиваемые разрешения учетной записи передавались вместе с действиями Google?

Я попытался помещать поле «expected_inputs» в корень моего ответа на веб-хост и в поле «данные»: {"google": {...}}. Ничего не сработало.

Наш опыт работы с API.AI до сих пор был в целом положительным. Это только функциональность мы нужно так далеко, что мы не могли пройти через наш текущий стек "`

+0

Не могли бы вы объяснить, что вы подразумеваете под «учетной ссылкой»? Вам интересно спросить у пользователя разрешение на их имя или местоположение? Или связывание с каким-либо другим API? – matthewayne

+0

Я заинтересован в том, чтобы пользователь предоставил мне разрешение на получение адреса электронной почты, который они использовали для входа в свою главную страницу Google. Это позволит мне отправить резюме пользователю. –

+0

Теперь вы можете получать информацию о местоположении и имя пользователя с помощью Действия в Google: https://developers.google.com/actions/develop/identity/user-info – matthewayne

ответ

1

UPDATE:. Ваш ответ webhook должен включать в себя JSON объект следующей формы запроса разрешений:

.
{ 
    "speech": "...", // ASCII characters only 
    "displayText": "...", 
    "data": { 
    "google": { 
     "expect_user_response": true, 
     "is_ssml": true, 
     "permissions_request": { 
     "opt_context": "...", 
     "permissions": [ 
      "NAME", 
      "DEVICE_COARSE_LOCATION", 
      "DEVICE_PRECISE_LOCATION" 
     ] 
     } 
    } 
    }, 
    "contextOut": [...], 
} 

единственные разрешения, доступные в настоящее время NAME, DEVICE_PRECISE_LOCATION и DEVICE_COARSE_LOCATION Это описано здесь: https://developers.google.com/actions/reference/webhook-format#response


Предыдущий ответ:

Вы можете найти раскладку JSON в developer reference (воспроизведено ниже), но Node.js client library делает это намного проще, и похоже, что вы можете install npm modules on Lambda.

{ 
    "user": { 
    "user_id": "...", 
    "profile": { 
     "given_name": "John", 
     "family_name": "Doe", 
     "display_name": "John Doe" 
    }, 
    "access_token": "..." 
    }, 
    "device": { 
    "location": { 
     "coordinates": { 
     "latitude": 123.456, 
     "longitude": -123.456 
     }, 
     "formatted_address": "1234 Random Road, Anytown, CA 12345, United States", 
     "city": "Anytown", 
     "zip_code": "12345" 
    } 
    }, 
    "conversation": { 
    "conversation_id": "...", 
    "type": "ACTIVE", 
    "conversation_token": "..." 
    }, 
    "inputs": [ 
    { 
     "intent": "assistant.intent.action.MAIN", 
     "raw_inputs": [ 
     { 
      "query": "..." 
     } 
     ], 
     "arguments": [ 
     { 
      "name": "destination", 
      "raw_text": "SFO", 
      "location_value": { 
      "latlng": { 
       "latitude": 37.620565, 
       "longitude": -122.384964 
      }, 
      "formatted_address": "1000 Broadway, San Francisco, CA 95133" 
      } 
     } 
     ] 
    } 
    ] 
} 
+0

Я согласен с тем, что https://developers.google .com/actions/reference/conversation показывает API для действий Google. Но я хочу знать, что помещать эти данные в мой webhook в API.AI, чтобы данные передавались вместе с Google Action. –

Смежные вопросы