如何在用户使用Alexa技能时获取用户的帐户信息

时间:2016-12-28 08:58:14

标签: aws-lambda alexa alexa-skills-kit alexa-skill

我们将创建一个允许用户控制Wi-Fi LED的Alexa技能。每次用户使用该技能时,我们希望我们可以在该技能的AWS Lambda函数中使用的SDK的回调中获取用户的帐户信息。

例如,用户登录到他的亚马逊帐户并使用他的Alexa-Enabled设备并说“Alexa,要求打开”。然后,我们所做的技能将触发Lambda函数并传递用户的帐户详细信息,以便我们可以在我们的主机中检查该用户是否拥有该设备。

那么,Alexa技能套件中使用的Java SDK中是否有回调,其中包含用户的帐户信息?

谢谢!

1 个答案:

答案 0 :(得分:7)

SDK只为您提供userId ...

{
  "session": {
    "user": {
      "userId": "amzn1.ask.account.AFPabcdef<etc>"

这标识了特定用户,用于您应用的一次安装。这就是你自动获得的。

您可以使用帐户关联手动将此用户与其他帐户相关联:
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

您需要在某种数据库/数据存储中存储有关此用户的信息,但您不需要为每个请求加载/保存它 - 您可以存储此用户信息(或任何其他会话数据)在您的回复中,SDK会在同一会话中的下一个请求中将其传回给您。