【问题标题】:Alexa skill is giving 'There was a problem with the requested skill's response', can we change this message to custom message?Alexa 技能给出“请求的技能响应有问题”,我们可以将此消息更改为自定义消息吗?
【发布时间】:2020-03-09 18:26:26
【问题描述】:

我是 Alexa 技能的新手,我正在开发 Alexa 技能,在我的情况下,我不想等待 http 响应返回,如果我的 lambda 超时由于 Http 的响应延迟可以我给出了一条自定义消息来代替“请求的技能的响应有问题”。我的代码是:

  'ProtectArmIntent': function() {
    if(checkAccessToken(this.event.session.user.accessToken)){
      var data = {
        mode: HUB_MODE.ARM,
        regId: "null"
      }
      callAPI("post", API_COMMANDS.HUB_MODE, data, this.event.session.user.accessToken)
          .then((body) => {
            if(body.response.status === "SUCCESS"){
              this.emit(':tell', messages.ARM.SUCCESSFUL);
            } else {
              this.emit(':tell', messages.ARM.FAILED);
            }
          })
          .catch((err) => {
              this.emit('SessionEndedRequest');
            //errorHandler.call(this, err, messages.ARM.FAILED);
          });
    } else {
      this.emit('LinkAccount');
    }
  }, 

和alexa模拟器请求:

“请求”:{ "type": "SessionEndedRequest", “requestId”:“amzn1.echo-api.request.67e1612e-f8a4-43f5-ab28-175ba7d7941f”, "时间戳": "2019-11-13T21:13:11Z", “语言环境”:“en-GB”, “原因”:“错误”, “错误”: { "type": "INVALID_RESPONSE", "message": "向技能发送请求时发生异常。" } }

我知道这个问题是因为 lambda 超时作为 HTTP 响应的延迟,所以我可以给出一些自定义消息,比如你的命令被接受,它将在一段时间内执行。

请帮忙,在此先感谢

【问题讨论】:

    标签: alexa session-timeout alexa-skill


    【解决方案1】:

    制作自己的计时器功能可能会有所帮助。将您的计时器设置为低于 lambda 超时,并在计时器结束时发送您的响应,这当然不会导致 lambda 超时错误。This answer might help.

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 1970-01-01
      • 2019-11-12
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      相关资源
      最近更新 更多