当前位置: 首页 > 知识库问答 >
问题:

亚马逊Alexa错误

谢财
2023-03-14

我正在努力培养Alexa技能。我仍在试图让Alexa在有意向请求时说些什么,但我遇到了一个错误,我不知道该怎么办。当我通过Alexa服务模拟器运行示例话语时,我得到了错误:

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

如果我在lambda测试事件中运行相同的语句,我得到的错误是:

"错误消息":"异常:引用错误:未定义输出"

我的javascript代码是

exports.handler = (event, context) => {

  try {
    //New Session
    if(event.session.new) {
      console.log("NEW SESSION")
    }

    switch (event.request.type) {

      //Launch Request
      case "LaunchRequest":
        console.log(`LAUNCH REQUEST`)
        context.succeed(
          generateResponse(
            buildSpeechletResponse("Welcome to an Alexa Skill, this is running on a lambda function", true),
            {}
          )
        )
        break;

      //Intent Request
      case "IntentRequest":
        console.log(`INTENT REQUEST`)

        switch(event.request.intent.name) {
          case "FindFlight":
            //Get data from user to send to Fare Portal

            //Clean up data to send back to user

            context.succeed(
              generateResponse(
                buildSpeechletResponse("Flight Search", "You asked to find a flight", true),
                {}
              )
            )
            break;

          default:
            throw "Invalid intent"
        }
      break;

      //Session Ended Request
      case "SessionEndedRequest":
        console.log(`SESSION ENDED REQUEST`)
        break;

      default:
        context.fail(`INVALID REQUEST TYPE: ${event.request.type}`)
    }
  } catch(error) {context.fail(`Exception: ${error}`)}

  //Helpers
  buildSpeechletResponse = (title, outputText, shouldEndSession) => {

    return {
      outputSpeech: {
        type: "PlainText",
        text: outputText
      },
      card: {
          type: 'Simple',
          title: `SessionSpeechlet - ${title}`,
          content: `SessionSpeechlet - ${output}`,
      },
      shoudlEndSession: shouldEndSession
    }
  }

  generateResponse = (sessionAttributes, speechletResponse) => {

    return {
      version: "1.0",
      sessionAttributes: sessionAttributes,
      response: speechletResponse
    }
  }
}

任何帮助将不胜感激,谢谢!

共有1个答案

晋俊贤
2023-03-14

这似乎是一个错别字在BuildSpeechlet响应函数:

content: `SessionSpeechlet - ${outputText}`,
 类似资料:
  • 我想问alexa各种各样的问题,最后我想让它问“你还有什么想知道的吗?”当我说“是”(yes是工作建议)时,它应该根据我的意图来建议我。就像我在

  • 我正在使用现有服务为Alexa Echo创建一项定制技能 这项服务有很多功能,但用途不同<我希望我的技能能为所有这些功能服务 所有服务都是HTTPS POST服务,它接受JSON原始正文请求并以JSON格式提供结果 第一季度。我可以像单独的意图一样使用我的技能中的每个功能吗 Q2。我应该使用Lambda还是直接点击我的服务 Q3。如果使用Lambda,我可以构造所需的有效负载并发送到我的服务,获取

  • 我试图建立一个Alexa技能包,用户可以通过说类似这样的话来调用一个意图 < code > get Friend location { Friend }在哪里 为了让Alexa识别变量friend,我必须在文件中定义所有可能的值。但是,如果我不知道的所有值,并且仍然希望与我的应用程序可以访问的某些服务中的值进行最佳匹配,该怎么办。

  • 亚马逊云 图 1.20.2.1 - AWS AWS,即 Amazon Web Services,是亚马逊(Amazon)公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT

  • 到目前为止,我似乎无法将我的Alexa技能与twitter联系起来。目前,我有一个运行在EBS上的node/express服务器,我正在使用passport twitter来处理身份验证的oauth部分。现在我的流程是这样的: 在Alexa应用程序中启用技能 我登录和一切,所以我认为问题是重定向,这是在我的快递服务器上定义的twitter auth回调,就像这样: 我的重定向url(减去敏感数据)

  • 我刚刚开始使用AWS EC2。我明白EC2就像一台远程计算机,在那里我可以做几乎所有我想做的事情。然后我发现了ECS的事。我知道它使用Docker,但我对这两者之间的关系感到困惑。 ECS只是EC2中的Docker安装吗?如果我已经有一个EC2并且我启动了一个ECS,这是否意味着我有两个实例?