【问题标题】:The remote endpoint could not be called, or the response it returned was invalid. (alexa, aws)无法调用远程端点,或者它返回的响应无效。 (亚历克萨,AWS)
【发布时间】:2019-01-07 13:38:39
【问题描述】:

我目前正在开发 alexa 技能。这实际上是我第一次尝试这个,到目前为止我还挺不错的。但是,我偶然发现了一个似乎很普遍的问题,但我找不到如何解决它的答案。

首先要做的事情: 我通过关注a tutorial 开始了这项技能。可能是本教程已过时,因此出现此错误。

我从头开始创建了一项技能,它适用于调用 LaunchRequest 的部分:

如您所见,我得到了预期的回复。 (适用于测试环境以及 alexa 本身)。现在,当尝试调用IntentRequest 时,我只会收到错误消息:

无法调用远程端点,或者它返回的响应无效。

从图片/请求中我可以看出,调用了正确的意图请求(在我的情况下为 getSubscriberCount) - 这就是我不再知道如何解决这个问题的地方。

为了简短起见,这里是 Intent 的 JS 部分:

案例“IntentRequest”: // 意图请求 console.log(INTENT REQUEST)

    switch(event.request.intent.name) {
        case "GetSubscriberCount":
            var endpoint = "my url"
            var body = ""
            https.get(endpoint, (response) => {
                response.on('data', (chunk) => { body += chunk })
    response.on('end', () => {
        var data = JSON.parse(body)
        var subscriberCount = data.items[0].statistics.subscriberCount
        context.succeed(
        generateResponse(
            buildSpeechletResponse(`Du hast momentan ${subscriberCount} Abonnenten`, true),
            {}
        )
    )

这导致了我的问题。为了测试到底出了什么问题,我尝试了以下方法:

  • 在我的浏览器中调用了端点 --> 正确的输出
  • 将“响应”调整到最低,看看是否有效 --> 无效
  • 检查了与此错误相关的多个来源 --> 也没有帮助

我看到了一些解决此问题的方法,因为这似乎是一个常见问题,但我迷路了。 Someone 提到了一个环境变量,我无法动手。 Another one 建议手动运行 JSON 请求,我尝试过,但导致同样的错误。

希望你能在这里帮助我。

【问题讨论】:

    标签: javascript node.js amazon-web-services alexa


    【解决方案1】:

    假设您是 AWS lambda,这可能是因为您没有正确创建响应,或者您的 AWS lambda 函数有错误。

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 2017-02-13
      • 2012-04-26
      相关资源
      最近更新 更多