1

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

我在官方文档中找到了,但不幸的是没有 python 的示例代码。在互联网上研究了几个小时后,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 返回给用户以帮助他们转到设置中的链接帐户?

非常感谢!

4

2 回答 2

1

LinkAccountCard不接受任何参数;将其更改为.set_card(LinkAccountCard()),您应该会很好。Alexa 提供该卡的副本。

或者,您可以使用...</p>

from ask_sdk_model.ui import Card

… 

handler_input.response_builder.set_card(Card('LinkAccount'))
于 2020-05-08T12:29:39.703 回答
0

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

这是一个示例代码:

from ask_sdk_model.ui import LinkAccountCard

...

return handler_input.response_builder.speak("Hello").set_card(LinkAccountCard()).response
于 2021-03-16T15:27:31.403 回答