asksdk python返回LinkAccountCard

2024-06-07 05:08:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Alexa custom skill的新手,如果我的用户触发需要身份验证的意图,我希望他们链接他们的帐户以继续使用我的技能。当然,我的技能需要返回一个指示,让他们知道如何链接他们的帐户

我在Officical docs中找到了,但不幸的是,没有python的示例代码。 在互联网上搜索了几个小时后,我在{}上找到了{a2}。所以我开始像这样将这个类添加到我的代码中:

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返回给用户,以帮助他们进入设置中的LinkAccount

非常感谢


Tags: 代码用户input链接response技能custombuilder
2条回答

您不需要将任何参数传递给LinkAccountCard

下面是一个示例代码:

from ask_sdk_model.ui import LinkAccountCard

...

return handler_input.response_builder.speak("Hello").set_card(LinkAccountCard()).response

LinkAccountCard不接受任何参数;把它改成.set_card(LinkAccountCard()),你应该表现得很好。Alexa提供了那张卡的复印件

或者,您可以使用

from ask_sdk_model.ui import Card

… 

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

相关问题 更多 >