问题标签 [alexa-skill]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
245 浏览

alexa - 基于 Web 的 Alexa 技能同时接收 IntentRequest 和 SessionEndedRequest

我已经写了一个非常有效的技能,但是第二个不配合。这是一个简单的类似琐事的技能(你可以在 GitHub 上查看 <a href="https://github.com/jakerella/alexa-bridge-keeper" rel="nofollow">代码)以及启动和初始意图运作良好。但是,当技能向用户提出问题并等待答案时,我的服务器会收到两个 HTTP 请求,一个用于IntentRequest(用户的答案),一个用于SessionEndedRequest. 亚马逊忽略了我对 IntentRequest(独立工作)的响应,因为它已经发送了 SessionEndedRequest。

我已经在亚马逊的“服务模拟器”中测试了这项技能,使用<a href="https://echosim.io/" rel="nofollow">Echosim,并在我自己的 Echo 设备上。在服务模拟器中一切正常 - 我的猜测是因为它只向我的服务器发送一个请求。(这就是我知道我的代码如何很好地处理用户答案的​​ IntentRequest。)但是,当我在 Echosim 或我自己的设备上进行测试时,我同时收到两个请求:意图和会话结束:

在上面你可以看到两个请求的主体和时间......几乎同时发生。如果亚马逊不发送那个 SessionEndedRequest 我的技能会很好用!

有没有人见过这个?有什么想法吗?

0 投票
2 回答
510 浏览

alexa-skills-kit - 如何从我的技能中调用内置或第三方的 alexa 技能

我希望能够从我的 Alexa 技能中运行内置或第三方技能。例如,我想说

“Alexa,开始午睡”

并让 Alexa 关闭所有灯,启动特定的 Tune-In 电台,并设置 30 分钟的闹钟。但是我无法在 Alexa Skills Kit 中找到一种方法来做到这一点。这可能吗?

(注意:我专门寻找可以用我自己的技能实现的解决方案,而不是 IFTTT 食谱。)

0 投票
7 回答
14479 浏览

aws-lambda - 在 Echo 上测试时无法识别 Alexa Skill

我正在做其中一个教程(HelloWorld)来为 Echo 制作技能,然后我按照指示进行操作。当我使用服务模拟器测试技能时,我输入了

并返回以下 JSON 响应:

我认为这是正确的输出。然而,当我尝试在我的 Echo 上测试该技能时,Alexa 回答“对不起,我没有问你的问题。” 我继续查看历史,Alexa 将我的命令解释为“alexa tell greeter to say hello”。Alexa似乎没有识别技能?

我正在使用 Amazon Lambda 来执行代码,所以我检查了日志,当我向上面的命令发出时,代码没有被执行。

我将 javascript 文件中的 app_id 替换为与我的技能对应的那个。我还把亚马逊技能包作为触发器。

我还尝试了其他教程(ChemistryFlashCards 和 HistoryBuff),Alexa 回复“我不确定你的意思是什么”。

不知道发生了什么!任何指导表示赞赏!

0 投票
3 回答
725 浏览

ios - 我的 iOS 应用程序中的 Alexa 技能包交互

阅读 Alexa Skills Kit 文档后,我有一些疑问。此处启用 Alexa 的设备是什么意思?(我的自定义家庭自动化设备支持 Alexa api 或如何更改我的硬件以支持 Alexa api?)。

这个支持 Alexa 的设备将与 Smart Home Skill API 通信,然后 AWS Lambda Skill 适配器与真实设备通信。

我能够创建 Alexa 技能(可能是自定义技能或智能家居技能)。如何从我的 ios 应用程序中使用此技能进行交流?

0 投票
2 回答
4657 浏览

amazon-web-services - 用于拼写字母的 Alexa 技能用户输入

我希望 Alexa 能够为我的自定义技能接受可变长度的英文字母列表。它将允许用户基于字符串进行搜索。

有两个步骤:

  1. 获得 Alexa 可以理解的单个字母的良好表示
  2. 枚举具有可变数量字母的示例话语

首先,一种方法是定义一个自定义插槽,其中包含英文字母的枚举值:

但这感觉很hacky。亚马逊是否支持任何方式来做到这一点,还是有更聪明的方式?

我真的不想使用北约语音(“ABC”的“alpha bravo charlie”),因为这是一种糟糕的用户体验,而且很少有人真正了解它们。

对于第二个问题(示例话语),AMAZON.LITERAL我想定义如下内容:

但我认为亚马逊不会让您使用自定义插槽定义可变长度的 LITERAL(因为它们是不同的“类型”)?

0 投票
1 回答
573 浏览

amazon-web-services - 使用 Amazon Alexa 请求中提供的 userId 进行身份验证是否安全?

我想针对每个设备/用户 ID 记录一些持久的详细信息/历史记录。我不想与另一个系统中的单独帐户链接,因此我想避免使用帐户链接。文档建议这很好,见下文。

假设任何包含 userId 的请求必须来自原始设备是否安全?

  • 可以猜到userId吗?
  • 可以暴露 userId 吗?(假设没有重大的 AWS 入侵)
  • 可以拦截请求吗?(我使用 AWS Lambda 来处理请求)

相关文档:https ://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

请注意,当技能需要与需要身份验证的系统连接时,需要帐户链接。如果您的自定义技能只需要跟踪用户以在会话之间保存属性,则不需要使用帐户链接。相反,您可以使用每个请求中提供的 userId 来识别用户。当用户在 Alexa 应用程序中启用您的技能时,会生成给定用户的 userId。除非用户禁用该技能,否则该用户对您的技能的每个后续请求都包含相同的 userId。

0 投票
1 回答
694 浏览

node.js - Alexa SDK - Alexa 调用一个 AWS lambda 函数,该函数调用另一个 lambda 函数

我是 Alexa 和 Nodejs 的新手。

我正在编写一个基于示例 nodejs 颜色 alexa 技能集的新 AWS lambda 函数,可以说 MySchedule 将由 Alexa 调用。

我正在尝试从 MySchedule lambda 函数调用另一个 AWS lambda 函数 MyTravelPlans。

谁能告诉我这怎么可能 - 1.我需要多个处理程序吗?如果是,我该如何拨打电话。2. 我可以在不编写处理程序的情况下调用 MyTravelPlans lambda 函数吗?如果是,任何示例来确保调用方法没有异步完成

0 投票
4 回答
3730 浏览

alexa - Amazon Alexa - 如何创建通用插槽

如何为 Alexa 技能创建通用插槽?这样我就可以创建自己的 Todo 应用程序,它会识别自由格式的文本。

0 投票
1 回答
313 浏览

amazon-web-services - 如何访问您的 Amazon Echo Alexa 历史记录/事件,例如 IFTTT?

IFTTT 似乎使用“使用亚马逊登录”来访问 a) Alexa 事件或 b) Alexa 历史记录。这怎么可能?

设置“使用亚马逊登录”时是否有特殊的权限配置步骤?还是在触发登录页面时需要提供特殊参数?

请注意,这与正常的“帐户链接”完全不同。

登录页面说:

  • 当您单击“确定”时,我们将提供 IFTTT:
  • 您的姓名:XYZ您的电子邮件地址:xyz@example.com
  • 访问您的 Alexa 信息(如待办事项列表)以触发您创建的食谱。
  • 允许向 Alexa 发布信息、写入和修改信息,以执行您创建的食谱。

这是登录屏幕:

在此处输入图像描述

请注意此图像的额外权限:

在此处输入图像描述

完整的演练在这里:https ://www.sitepoint.com/how-to-empower-the-amazon-echo-with-ifttt/

0 投票
1 回答
740 浏览

account - Amazon Alexa 技能开发中帐户链接的分步指南?

我是亚马逊 Alexa 技能开发的新手。不知何故,到目前为止,我已经开发了亚马逊 alexa 技能的代码,并且能够通过模拟器进行正确测试。现在我想了解和探索 alexa 技能开发人员配置页面上的帐户链接工具,以及如何在 twitter、facebook、google 等外部企业中使用这些凭据。所以请建议或帮助我逐步处理帐户链接?