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

fin*_*tic 6 alexa aws-lambda alexa-skill alexa-skills-kit

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

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

那么,在包含用户帐户信息的Alexa Skill Kit中使用的Java SDK中是否有回调?

谢谢!

Tom*_*Tom 7

SDK只为您提供userId ...

{
  "session": {
    "user": {
      "userId": "amzn1.ask.account.AFPabcdef<etc>"
Run Code Online (Sandbox Code Playgroud)

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

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

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