【问题标题】:Is there a way to implement "profiles" into an Alexa Skill?有没有办法在 Alexa Skill 中实现“配置文件”?
【发布时间】:2017-06-21 20:45:09
【问题描述】:

我正在培养一项营养技能,我想加入一些计算器。我可以让 Alexa 在每次计算时询问参数,但我更希望用户为自己设置一个基本配置文件来存储年龄、身高和体重值。

我在亚马逊的文档中找到了一小部分,其中讨论了如何使用 userId 元素来存储跨会话的属性。这对我所说的有用吗?还是我必须添加 OAuth?

【问题讨论】:

  • userId 是用户的唯一但不透明的标识符。使用您自己的数据库,您可以存储用户提供给您的任何内容,并在将来的事件中引用它,即使您不知道用户是谁。您无法将其与任何外部事物相关联,例如将此用户与您网站的用户匹配,因此这是否满足您的需求取决于您的宏伟计划。问题中没有足够的细节来给出一个好的答案。你能详细说明一下吗?
  • 当然,感谢您的回复。我没有网站或应用程序来支持这项技能,所以我正在考虑一些完全独立的东西。我会问 Alexa 诸如“我一天应该吃多少蛋白质?”之类的问题;然后,她会问我的年龄、身高和体重(也许还有其他几个参数)。 “哦,根据这个,你每天应该摄入100克左右的蛋白质。”然后我想存储参数以供将来计算。那么接下来,用户可以只说“碳水化合物呢?” Alexa 给出了回应,而没有再次询问用户。这有意义吗?
  • 是的。 DynamoDB 的持久化很容易实现...官方示例:github.com/alexa/skill-sample-nodejs-highlowgame/blob/master/…

标签: amazon-web-services amazon alexa-skills-kit alexa-skill


【解决方案1】:

有两种方法可以做到这一点:

1) 您可以使用会话。

在此方法中,会话结束时您的数据将消失(用户停止与您的技能交谈) 更多详情https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interface-reference#session-object

2) 您应该实现一个 oauth 2.0 服务器来存储用户数据。这并不容易,但您可以在这里找到一些 oauth 服务器示例 https://oauth.net/code/

要将您的技能连接到您的 oauth 服务器,您可以在此处关注 https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

奖励:如果您不想实现 oauth 服务器,您可以使用 Login with Amazon(或 login with google)服务。但是你仍然需要一个数据库服务器来存储数据

【讨论】:

  • 顺便说一下,heroku.com 是您存储数据或 oauth 服务器的绝佳服务器
【解决方案2】:

您在请求中获得的userId 唯一标识了一个亚马逊账户,而不是一个人。尽管可以在单个设备上切换不同帐户(请参阅:https://www.amazon.com/gp/help/customer/display.html?nodeId=201628040),但已经讨论了识别人员的功能(http://time.com/4683981/amazon-echo-voice-id-feature-2017/),但目前尚不可用。

正如 cmets 中已经提到的,您需要在会话之间保留会话信息,并且可以使用 userId 来识别每个帐户。

但无论如何,您不需要帐户链接或使用 Oauth 来简单地识别一个人。

此外,我建议您留在 Amazon 生态系统中并在 Lambda 中运行您的东西(提供免费层级和开发人员发布 Alexa 技能的开发积分)。

如果您需要入门帮助,我有一个使用 Python 的 Alexa 技能的单文件模板和几个示例: https://github.com/josepvalls/ask.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2019-05-04
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多