ask-sdk python вернуть LinkAccountCard - PullRequest
1 голос
/ 06 мая 2020

Я новичок ie в пользовательском навыке Alexa, и если мои пользователи инициируют намерение, требующее аутентификации, я хочу, чтобы они связали свои учетные записи, чтобы продолжить использовать мой навык. Конечно, мои навыки должны дать им инструкции, чтобы они знали, как связать свою учетную запись.

Я нашел в официальных документах , но, к сожалению, нет примера кода для python. После нескольких часов исследования inte rnet я обнаружил LinkAccountClass на ask_sdk_model.ui. Итак, я начал добавлять этот класс в свой код следующим образом:

from ask_sdk_model.ui import LinkAccountCard if not handler_input.request_envelope.context.system.user.access_token: speech = "You must open alexa app on your phone and link you account to continue" handler_input.response_builder.speak(speech).set_card(LinkAccountCard(speech)) return handler_input.response_builder.set_should_end_session(False).response

Но Алекса продолжает говорить мне, что «Извините, я не могу вам с этим помочь». Если я использую .set_card(SimpleCard(speech)) вместо .set_card(LinkAccountCard(speech)), Alexa отобразит сообщение «Вы должны открыть приложение alexa на своем телефоне и связать свою учетную запись, чтобы продолжить» без каких-либо ошибок. Итак, как я могу вернуть linkAccountCard пользователю, чтобы помочь им go в привязке аккаунта в настройках?

Большое спасибо!

1 Ответ

0 голосов
/ 08 мая 2020

LinkAccountCard не принимает никаких параметров; измените его на .set_card(LinkAccountCard()), и все будет хорошо. Alexa предоставляет копию этой карты.

В качестве альтернативы вы можете использовать ...

from ask_sdk_model.ui import Card

… 

handler_input.response_builder.set_card(Card('LinkAccount'))
...