Как получить амазонку по электронной почте в навыке alexa sdk V2 - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь развить навык alexa, и я хотел бы получить электронную почту пользователя, а затем сравнить ее с адресами базы данных. Я нашел много примеров в Интернете, но все они написаны в SDK v1, который больше не поддерживается. Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

@ raholling ок, следуя вашим инструкциям и после прочтения документации, я написал этот фрагмент кода только для того, чтобы он не работал ни на AWS, ни в устном тесте на alexa developer. Что я делаю не так?
var accessToken = this.event.context.System.apiAccessToken;

Bearer < ACCESS_TOKEN > 

Host: api.amazonalexa.it
Accept: application/json
Authorization: Bearer MQEWY...6fnLok
GET https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.email;
0 голосов
/ 23 марта 2020

Вы должны запросить разрешение на сбор информации о клиенте. Это можно сделать в консоли разработчика Alexa. В пределах вашего навыка go для Build> Permissions вы увидите несколько элементов, начиная с адреса устройства, имени клиента и затем электронной почты клиента. Вам нужно будет выбрать это и построить свой навык.

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

Получив разрешение, вы теперь можете позвонить в API профиля клиента.

Это будет два шага.

Сначала получите токен доступа:

accessToken = this.event.context.System.apiAccessToken;

Следует отметить, что при использовании токена синтаксис:

Bearer < ACCESS_TOKEN > 

Теперь вы можете использовать токен для запросите информацию, которую вы ищете в API, используя следующий запрос:

Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer MQEWY...6fnLok
GET https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.email

Этот процесс и дополнительная информация могут быть найдены в документации разработчика здесь

...