用户使用Alexa Skill时如何获取用户的账号信息

How to get the account info of the user when the user uses an Alexa Skill

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

例如,用户登录到他的亚马逊帐户并使用他的支持 Alexa 的设备并讲话 "Alexa, ask to turn on"。然后我们制作的技能将触发 Lambda 函数并传递用户的帐户详细信息,以便我们可以在我们的主机中检查它是否该用户拥有该设备。

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

谢谢!

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

您需要以某种形式 database/datastore 存储有关此用户的信息,但您不需要 load/save 每个请求 - 您可以存储此用户信息(或任何其他会话数据)在您的响应中,SDK 将在同一会话中的下一个请求中将其传回给您。