标签: alexa

如何使用alexa api增加alexa搜索结果

我正在创建一个java应用程序,它执行网站的URL搜索:

http://www.alexa.com/topsites/category

用户输入类别名称,我的应用程序显示所有URL并执行一些操作.

我正在使用这个alexa api进行URL搜索.

http://docs.amazonwebservices.com/AlexaWebInfoService/2005-07-11/ApiReference_CategoryListingsAction.html

这个api没有给出所有结果.例如.如果我搜索"健康"类别,这个api只给出了6个结果,但是当我在网站上访问时,我获得了超过500个结果.

我试图通过增加count = 500来增加结果,并通过在api中给出Start参数进行检查但是我没有得到所有结果.

你能告诉我如何才能提高结果吗?或者是否有任何其他api与alexa api一样工作并给出所有结果.

我得到一些建议,DMOZ api也使用相同的

http://www.dmoz.org/World/Esperanto/Ludoj/Komputilaj/

但无法获得DMOZ搜索API的链接.

能否请您提供DMOZ搜索API的链接.

我感谢你们所有宝贵的建议.

java api directory search alexa

9
推荐指数
1
解决办法
662
查看次数

Alexa,无法链接您的技能

我在Alexa中创建使用帐户链接的自定义技能.我使用OAuth2 php库创建了自己的身份验证服务器,并在技能配置中配置了授权URL和令牌URL.

当我尝试从Alexa移动应用程序进行帐户链接时,我收到错误"无法链接您的技能".以下是我的工作进展.

  • Alexa应用程序可以打开我的身份验证网址.
  • 我可以通过重定向uri授权并提供授权代码.
  • Alexa使用先前提供的授权代码请求访问令牌.
  • 我能够使用访问令牌和刷新令牌验证授权代码和响应.
  • Alexa在这一步中未能与我的技能联系起来.它说'无法链接你的技能'.

我已经通过我的论坛了解相同,但无法找到究竟是什么问题.在这方面,请任何人帮助我.

alexa alexa-skill alexa-skills-kit alexa-voice-service

9
推荐指数
1
解决办法
5115
查看次数

如何使用 Python ask sdk 检查和获取 Alexa 插槽值

在我的交互模型中,我定义了一个名为的插槽city,该插槽是可选的,不是必需的,以实现意图。

我正在使用 python ask sdk,所以我的处理程序是这样的:

class IntentHandler(RequestHandler):
    """
    Intent handler
    """

    def can_handle(self, handler_input):
        # type: (HandlerInput) -> bool
        return is_request_type("IntentRequest")(handler_input) and \
               is_intent_name("ExampleIntent")(handler_input)

    def handle(self, handler_input):
        # type: (HandlerInput) -> Response
        access_token = handler_input.request_envelope.context.system.user.access_token

        if access_token is None:
            raise Exception("no access_token provided")

        speech = RESPONSE_MESSAGE_DEFAULT
        handler_input.response_builder.speak(speech)

    return handler_input.response_builder.response
Run Code Online (Sandbox Code Playgroud)

如何检查插槽是否已被用户填充以及如何获取其值?

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

9
推荐指数
1
解决办法
4440
查看次数

亚马逊Echo到Raspberry Pi

我们如何将Amazon Echo意图指向私有/内部https端点?就像运行nodeJS的覆盆子pi一样.

  1. 使用"Echo Proxy"仍需要从互联网访问该服务(更多关于Echo代理:https://www.reddit.com/r/amazonecho/comments/3blkax/alexa_api_proxy_java/)
  2. 使用"HUE Bridge Emulator"将帮助您将Alexa请求分叉到私有(仅限内部)https服务器.但是,此设置将Alexa意图的使用限制为"打开"或"关闭"(并设置调暗级别等).(有关HUE Bridge仿真器的更多信息:https://github.com/armzilla/amazon-echo-ha-bridge)

我很想听听有关如何解决这个问题的反馈.

编辑:我现在有一个由Amazon Echo控制的我的Pi的稳定,工作设置.这就是它的配置方式:

  1. 设置AWS Lambda以处理来自Echo的传入意图
  2. 在Lambda上,为每个intent/slot映射一个"ACTION KEYWORD"
  3. 在匹配的意图/插槽上,将ACTION KEYWORD发布到PubNub通道
  4. 将我的Pi设置为SUBSCRIBE到PubNub通道以获取新消息
  5. 如果Pi在通道上收到匹配的ACTION KEYWORD,则会触发一个函数/脚本
  6. 该函数/脚本依次具有完整的执行逻辑(例如:打开车库门)

我很乐意听到有关这种方法的反馈意见,并将问题留给其他人发布更简单/更好的方法来实现这一目标

alexa raspberry-pi amazon-echo

8
推荐指数
1
解决办法
1010
查看次数

Alexa Skill kit -Lambda函数 - 无法验证SpeechletRequest(java)

我尝试基于https://github.com/amzn/alexa-skills-kit-java创建一个HelloWorld技能但是当我测试lambda函数时它显示了这个错误

{
  "errorMessage":"com.amazon.speech.speechlet.SpeechletRequestHandlerException: Could not validate SpeechletRequest null using verifier ApplicationIdSpeechletRequestVerifier, rejecting request",

  "errorType": "java.lang.RuntimeException",

  "stackTrace": [    "com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler.handleRequest(SpeechletRequestStreamHandler.java:101)",
 "helloworld.HelloWorldSpeechletRequestStreamHandler.handleRequest(HelloWorldSpeechletRequestStreamHandler.java:43)"

 ],

  "cause": {

    "errorMessage": "Could not validate SpeechletRequest null using 
verifier ApplicationIdSpeechletRequestVerifier, rejecting request",
    "errorType": "com.amazon.speech.speechlet.SpeechletRequestHandlerException",

    "stackTrace": [
      "com.amazon.speech.speechlet.SpeechletRequestHandler.handleSpeechletCall(SpeechletRequestHandler.java:73)",
      "com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler.handleRequest(SpeechletRequestStreamHandler.java:98)",
      "helloworld.HelloWorldSpeechletRequestStreamHandler.handleRequest(HelloWorldSpeechletRequestStreamHandler.java:43)"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Java文件

public final class HelloWorldSpeechletRequestStreamHandler extends SpeechletRequestStreamHandler {
    private static final Set<String> supportedApplicationIds = new HashSet<String>();
    static {
        /*
         * This Id can be found on https://developer.amazon.com/edw/home.html#/ "Edit" the relevant
         * Alexa Skill and put …
Run Code Online (Sandbox Code Playgroud)

alexa alexa-skill alexa-skills-kit alexa-voice-service

8
推荐指数
2
解决办法
2985
查看次数

flask-ask slot始终映射到None

我的自定义意图插槽始终被识别为None.

我有一个intents架构,如下所示:

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "name_of_app",
            "intents": [
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "EventsIntent",
                    "slots": [
                        {
                            "name": "eventCity",
                            "type": "AMAZON.GB_CITY"
                        }
                    ],
                    "samples": [
                        "whats on in {eventCity}",
                        "whats going on in {eventCity} ",
                        "tell me what events are in {eventCity}"
                    ]
                }
            ],
            "types": []
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的代码是在python中,使用flask-ask框架.我的主要入口点看起来像这样:

@ask.launch
def start_skill():
    welcome_message = 'Welcome to name_of_app, what …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services alexa flask-ask

8
推荐指数
1
解决办法
259
查看次数

Alexa 技能 - 如何获取向 Alexa 提出的完整声明文本

我正在创建 Alexa 技能,我编写了几个自定义和默认意图,并且它们运行良好。

现在我想写一个后备意图,其中我想获得询问/发送给 Alexa 技能的确切语句,有没有一种方法可以让我们获得已向 Alexa 技能询问的整个问题字符串/文本。我知道我们可以获取槽值和意图信息,但我需要将整个文本语句发送给技能。

谢谢

alexa alexa-skill alexa-voice-service alexa-slot alexa-app

8
推荐指数
2
解决办法
2712
查看次数

Alexa 技能未在 Amazon Alexa 应用程序中调用,但可在开发控制台中使用

当技能正在开发中时,我可以在开发控制台中调用它。在 Echo 或 Amazon Alexa 应用程序中,该技能未调用。

该技能显示在应用程序的技能和游戏选项卡下并已启用。

有谁知道如何解决这个问题?

alexa alexa-skill alexa-skills-kit

8
推荐指数
1
解决办法
1584
查看次数

从 Lambda 函数切换 Amazon Smart Plug

我有一个连接到家庭 WiFi 的“亚马逊智能插头”,现在可以使用两种机制对其进行控制:

  • 在我的 Echo Show 设备上,我可以使用触摸屏或 Alexa 语音控制来打开和关闭插头。
  • 在移动设备上使用 Alexa 应用程序,我可以打开和关闭插头。

我想添加第三种打开和关闭插头的方法,第三种机制调用 Lambda 函数。

所以,我需要一个允许我进行适当身份验证的 API,然后能够通过 Lambda 执行以下操作:

  1. 枚举连接到我的 Alexa 帐户的设备。
  2. 通过友好名称或底层 ID/序列号查找我感兴趣的设备。
  3. 获取插头的当前状态(通电或断电)。
  4. 如果它关闭,打开它;如果打开,请将其关闭。

这样的API存在吗?我知道 LIFX 设备等有类似的 API,但这些是直接连接的亚马逊智能插头,仅与 Alexa 本身和 Echo 设备集成。

我只需要一个指向相关 API 的指针,因为有很多 API 用于我没有寻找的东西,它们似乎掩盖了 Google 结果,例如 Alexa Skills API,它用于为语音助手设计新功能——不是我想要的。一旦找到正确的 API,我就可以找出代码。

amazon-web-services alexa iot aws-lambda

8
推荐指数
0
解决办法
416
查看次数

如何通过Lambda AWS认证Google API?

我正在为Google日历构建Alexa Skill。客户端代码可以在本地计算机上按预期工作,因为我可以使用链接对本地计算机进行身份验证。但是,当我在AWS Lambda上部署代码时,由于无法通过AWS控制台输入代码,因此无法进行身份验证。

当部署在AWS lambda上时,我无法设置Google Calendar API的身份验证。

本文档对我没有太大帮助 Google实施服务器端身份验证

google-calendar-api alexa google-api-client

7
推荐指数
2
解决办法
8377
查看次数