alexa-skills-kit - 如何在 Alexa 中存储一些值以供整个项目使用

标签 alexa-skills-kit alexa-skill

我正在开发 Alexa 音乐应用程序,它的工作原理如下。 我要求 Alexa 为一位艺术家播放音乐,比如 lady gaga。我正在获取名称并将其传递给我的 api,并收到 10 首歌曲作为响应。 现在我将第一首歌曲传递给 InetentRequest 并播放该歌曲。

现在我正在寻找 Alexa 的 AudioPlayer.PlaybackNearlyFinished 请求来排队第二首歌曲。但问题是我无法获得这里播放歌曲的艺术家的名字。那么有没有办法将艺术家的名字存储在某个地方并在项目中任何我想要的地方使用它?

最佳答案

我认为存储此类 session 数据的最佳方法是在响应的 session 属性中。

当您创建响应对象时,您可以将所需的任何数据放入“sessionAttributes”对象中。如果您使用的是 SDK,它可能具有此功能。

当您在同一 Alexa session 中收到下一个意图时,它会将您的数据保存在事件的“session.attributes”中。

docs将您的数据称为“键值对映射”,但我发现只要顶层是对象而不是数组,您就可以在其中放置任何您想要的内容。

关于alexa-skills-kit - 如何在 Alexa 中存储一些值以供整个项目使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41712901/

相关文章:

git - 在 Visual Studio Code 中处理 Alexa Skill 中的 git 问题

testing - 如何测试多个国家/地区的 alexa 技能?

java - 如何处理自定义 Alexa 技能中的自由文本?

python - Alexa Lambda 函数获取用户的全名

node.js - Alexa-SDK 音频问题

node.js - Alexa Skill 如何了解用户响应的上下文

aws-lambda - 让 Alexa 通过自定义技能通过从后端调用任何 API 而不说 'Alexa Read my notifications' 来宣布通知?

amazon - 如何定义不是列表的自定义插槽类型?

java - Amazon Lambda 上 Amazon Echo/Alexa 的正确 Java handleRequest() 方法签名?

alexa-skills-kit - Amazon Alexa - 一个意图启用话语