标签: alexa-skill

以编程方式将暂停或长时间延迟引入Alexa技能捕获输入

我在一家NLI公司工作,我刚刚创建了一项技能,我通过亚马逊Echo与我们的Alexa Skill进行了非常开放的麦克风会话.一切正常,我可以与我们的后端知识库进行开放式对话,而不必使用Alexa作为前缀.

当我演示这项技能时,房间里的某个人不可避免地会打断并想询问NLI如何运作.如果我将回声静音或在短时间内没有问问题或回答问题,那么技能就会超时.然后我被迫再次开始交互,但要求Alexa启动MySkillInvocation.

题:

在从Alexa Ask Response回听时,是否有一种编程方式来延长超时时间?可能甚至是一种以编程方式暂停正在运行的技能的方法?

alexa aws-lambda alexa-skill alexa-skills-kit amazon-echo

5
推荐指数
1
解决办法
2603
查看次数

亚马逊Alexa - 如何创建通用插槽

如何为Alexa技能创建通用插槽?因此,我可以创建自己的Todo应用程序,它将识别自由格式文本.

alexa alexa-skill alexa-skills-kit alexa-slot

5
推荐指数
1
解决办法
3374
查看次数

Alexa帐户将错误与Google OAuth相关联

使用Google OAuth进行我的Alexa帐户关联时,它在Android和某些iOS设备上运行良好,但用户报告了以下内容:

错误403:disallowed_useragent
"此用户代理不允许向Google发出OAuth授权请求,因为它被归类为嵌入式用户代理(也称为Web视图).根据我们的策略,只允许浏览器制作对Google的授权请求......"

在此输入图像描述

oauth alexa google-signin alexa-skill alexa-skills-kit

5
推荐指数
0
解决办法
651
查看次数

如何在开发阶段通过启用alexa的设备测试亚马逊alexa自定义技能?

我已经创建了一项技能并希望在设备上进行测试?

我已经设法在echosim.io上测试它.

alexa aws-lambda alexa-skill alexa-skills-kit alexa-voice-service

5
推荐指数
1
解决办法
3732
查看次数

如何创建一个接受货币金额的广告位

我想从讲话中得到一美元。因此,例如,如果我问Alexa:

发送$ 100.51给Kroger。

(发音为一百美元和五十美分)我想100.51在适当的位置接收该值。

我尝试搜索,并按照以下方式定义了发声槽:

"slots": [
    {
        "name": "Amount",
        "type": "AMAZON.NUMBER"
    } 
]
Run Code Online (Sandbox Code Playgroud)

但是在JSON输入上,我只会得到以下结果:

"slots": {
    "Amount": {
        "name": "Amount",
        "value": "?"
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使Alexa接受货币值?

alexa-skill alexa-skills-kit alexa-slot

5
推荐指数
1
解决办法
958
查看次数

Alexa Custom Slot Type:意图无价值

我已经将这个问题发布到亚马逊开发者论坛,但没有得到答案.我想Stackoverflow应该是从一开始的第一选择:

根据我的理解,如果我使用自定义槽类型,即使其可能值的列表不包含口语单词,仍然会将口语单词传递给该功能.文档说'自定义插槽类型不等同于枚举.如果口语理解系统认可,列表外的值仍可能被返回.

现在我有一个自定义插槽类型,LIST_OF_PERSONS其中包含值Matthias|Max和值

EmployeeDetailsIntent {Person} 
Run Code Online (Sandbox Code Playgroud)

如果我使用不在LIST_OF_PERSONSIntent中的值调用此意图仍然会被调用,但JSON不包含Slot的"value"键:

"request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.a943e233-0713-4ea5-beba-d9287edb6083",
    "locale": "de-DE",
    "timestamp": "2017-03-09T14:38:29Z",
    "intent": {
      "name": "EmployeeDetailsIntent",
      "slots": {
        "Person": {
          "name": "Person"
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是"按设计工作"还是一个错误?我如何访问意图中的口语呢?那this.event.request.intent.slots.Person.value是不确定的?

我的代码位于AWS lambda中,我使用的是nodejs alexa-sdk版本1.0.7.我的技能语言是德语.

alexa alexa-skill alexa-skills-kit alexa-slot

5
推荐指数
1
解决办法
7558
查看次数

用亚马逊登录表示用户尚未同意,但他们有 - Alexa SMAPI

我正在尝试使用技能管理API(SMAPI)在我的Alexa开发者帐户上检索技能列表.

我有以下HTML/javascript:

<BODY>
    <a href id="LoginWithAmazon">
        <img border="0" alt="Login with Amazon" src="https://images-na.ssl-images-amazon.com/images/G/01/lwa/btnLWA_gry_312x64.png" width="156" height="32" />
    </a>
    <div id="amazon-root"></div>
    <script type="text/javascript">
        var client_id = "<client id>";
        window.onAmazonLoginReady = function() {
          amazon.Login.setClientId(client_id);
        };
        (function(d) {
          var a = d.createElement('script'); a.type = 'text/javascript';
          a.async = true; a.id = 'amazon-login-sdk';
          a.src = 'https://api-cdn.amazon.com/sdk/login1.js';
          d.getElementById('amazon-root').appendChild(a);
        })(document);

        document.getElementById('LoginWithAmazon').onclick = function() {
            options = {
                scope : 'profile postal_code alexa::ask:skills:readwrite alexa::ask:models:readwrite alexa::ask:skills:test',
                interactive: 'always',
                response_type: 'code'
            };
            amazon.Login.authorize(options, '<login page url>');
            return false;
        };
    </script>
</BODY>
Run Code Online (Sandbox Code Playgroud)

然后调用登录页面以获取适当的访问令牌: …

javascript php curl alexa-skill alexa-skills-kit

5
推荐指数
0
解决办法
415
查看次数

尽管有效的LWA授权令牌,Alexa SMAPI返回HTTP 4xx

我目前正在努力将Amazon Alexa与我们当前的系统集成。我要做的TL; DR版本是,我应该能够通过Alexa Skill Management API以编程方式创建Alexa技能。

尽管这非常简单,但我在身份验证阶段遇到了障碍(涉及到“使用亚马逊登录”):

这应该起作用的方式是,您对SMAPI端点进行的每个请求都必须在AuthorizationHTTP标头中包含授权令牌。

假设我https://api.amazonalexa.com/v0/skills对此主体发出POST请求:

{
"vendorId":"my-vendor-id",
"skillManifest": {
    "publishingInformation": {
        "locales": {
            "en-US": {
                "summary": "This is a sample Alexa skill.",
                "examplePhrases": [
                    "Alexa, open sample skill.",
                    "Alexa, turn on kitchen lights.",
                    "Alexa, blink kitchen lights."
                ],
                "keywords": [
                    "Smart Home",
                    "Lights",
                    "Smart Devices"
                ],
                "name": "Sample custom skill name.",
                "description": "This skill has basic and advanced smart devices control features."
            }
        },
        "isAvailableWorldwide": false,
        "testingInstructions": "1) Say 'Alexa, discover my …
Run Code Online (Sandbox Code Playgroud)

alexa-skill login-with-amazon alexa-skills-kit

5
推荐指数
1
解决办法
313
查看次数

使用ask-cli部署alexa技能时"构建技能模式失败"错误

我在亚马逊技能商店有一个alexa技能.该技能的交互模型是使用alexa开发门户的技能构建者开发的,并且lambda函数是单独上传的.技能是实时的,有很多用户.

最近我觉得有必要对这项技能做一些改变.从现在开始我使用ask-cli进行所有alexa技能开发,我决定也使用相同的技能.

以下是我遵循的步骤:

  • 克隆了alexa控制台中的技能,使用命令问克隆并选择我想要进行更改的技能.

  • 对技能进行了必要的修改.刚刚改变了回应,没什么特别的.

  • 尝试使用ask deploy命令再次将技能部署到alexa控制台

但是我收到以下错误:

[Error]: Building skill schema failed
Run Code Online (Sandbox Code Playgroud)

我认为我所做的更改可能是它的原因,所以我回溯了更改并使代码成为克隆时的代码.然后我尝试再次部署代码,但错误保持不变.

我在亚马逊门户网站上找到了一些答案,这是其他问题的最常见原因,在技能图标URI的URI中存在一些错误.可以肯定的是,我还从skill.json中删除了该行,并尝试再次部署它,但没有任何改变.

有没有人知道上述问题的原因?

alexa alexa-skill alexa-skills-kit ask-cli

5
推荐指数
1
解决办法
570
查看次数

如何修改实时Alexa技能?

我需要修改我发布的Alexa技能。我熟悉Amazon发布一项技能后自动创建的“开发中”技能版本。我不了解如何迭代自己的技能,特别是当我需要同时更改交互模型和链接的Lambda函数时?

例如,我可以创建一个单独的“ In Development” Lambda函数,并将其作为我的“ In Development” Alexa技能的默认端点。但是,当我提交自己的“开发中” Alexa技能进行发布时,“开发中” Lambda端点将成为我发布的技能的新端点。我想这可能行得通,而且我认为这就是Amazon想要的,但我不想回收我的Lambda函数,重新配置X射线跟踪等。我使用无服务器框架来部署链接到我的Alexa的Lambda函数。技能,它为我带来了Lambda。

推荐的工作流程是什么?我觉得这里缺少基本的东西。

除了“ 编辑开发版本 ” 之外,我找不到任何有关此的Amazon文档,这显然是不够的。该页面具有指向“发布后修订和更新您的技能 ”的链接,但是单击它会将我带到关于技能分配的页面。

alexa aws-lambda alexa-skill serverless-framework

5
推荐指数
1
解决办法
1016
查看次数