我是Alexa自定义技能的新手,如果我的用户触发了需要认证的意图,我希望他们链接其帐户以继续使用我的技能。当然,我的技能需要向他们返回说明,以帮助他们了解如何关联他们的帐户。
我在Officical docs中找到了,但是很遗憾,没有python的示例代码。经过数小时的互联网研究,我在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
但是Alexa一直对我说:“抱歉,我不能帮您这个忙。”如果我使用.set_card(SimpleCard(speech))
而不是.set_card(LinkAccountCard(speech))
,Alexa会显示消息“您必须在手机上打开alexa应用程序并链接您的帐户才能继续”,而不会出现任何错误。那么,如何将linkAccountCard返回给用户以帮助他们进入设置中的链接帐户?
非常感谢!
LinkAccountCard
不接受任何参数;将其更改为.set_card(LinkAccountCard())
,您应该会很好。 Alexa提供了该卡的副本。
或者,您可以使用…
from ask_sdk_model.ui import Card
…
handler_input.response_builder.set_card(Card('LinkAccount'))