ask-sdk python 到 return LinkAccountCard

ask-sdk python to return LinkAccountCard

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

我在 Officical docs 中找到了,但遗憾的是没有 python 的示例代码。 在互联网上搜索了几个小时后,我在 ask_sdk_model.ui 上找到了 LinkAccountClass。所以我开始像这样将这个 class 添加到我的代码中:

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 一直对我说 "Sorry, i can't help you with this"。如果我使用 .set_card(SimpleCard(speech)) 而不是 .set_card(LinkAccountCard(speech)),Alexa 会毫无错误地显示消息 "You must open alexa app on your phone and link you account to continue"。 那么我如何才能 return 向用户提供 linkAccountCard 以帮助他们进入设置中的 linking 帐户?

非常感谢!

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

或者,您可以使用……

from ask_sdk_model.ui import Card

… 

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

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

这是一个示例代码:

from ask_sdk_model.ui import LinkAccountCard

...

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