0

我向亚马逊提交了一项针对 Alexa 的技能,但由于知识产权问题未能通过认证。亚马逊建议我说该服务是“为”知识产权所有者的,所以我修改了名称,现在我尝试做的所有事情都出现这个错误。

{
  "errorMessage": "Exception: TypeError: Cannot read property 'application' of undefined"
}

到目前为止,我更新了技能名称、调用名称和欢迎消息。我还需要在开发门户上更新或运行其他什么东西才能让它再次工作吗?

更新:当我尝试从 Alexa Development 门户启动该技能时,我在日志中看到了这一点

console.log("event.session.application.applicationId=" + event.session.application.applicationId);

{
    "version": "1.0",
    "session": {
        "new": true,
        "sessionId": "SessionId.8b65b2f5-0193-4307-9bef-88c116d9344b",
        "application": {
            "applicationId": "amzn1.echo-sdk-ams.app.5987b947-c8e9-4fc4-a0b8-2ba12c57ea59"
        },
        "attributes": null,
        "user": {
            "userId": "amzn1.ask.account.ABCDEFG" // masked my account value
        }
    },
    "request": {
        "type": "IntentRequest",
        "requestId": "EdwRequestId.4d19f589-cdca-4303-99dc-0dc5cec781d2",
        "timestamp": "2016-04-18T16:21:04Z",
        "intent": {
            "name": "DontKnowIntent"
        }
    }
}

应用程序 ID 与 Alexa Development 门户中提供的 ID 相匹配,因此我认为这不会导致任何问题。只有在明确定义的“会话”之后才调用属性“应用程序”。我不知道 null 属性是否导致错误。也许有人可以查看成功的请求?

最后,这是我的代码:https ://github.com/Shwheelz/alexa-skills-kit-js/blob/master/my_skills/pokemonTrivia/src/index.js

4

1 回答 1

0

我之前在节点应用程序和 Java 8 应用程序上更改了两次名称。我所要做的就是更改技能信息下的名称(也更改了调用名称)。它第一次成功。现在我的技能名称没有在 alexa 应用程序上更新一次,而另一次更新了。由于您未获得认证,因此您可能希望创建从头开始的技能。这应该只需要大约 5 或 10 分钟。只是不要忘记更改或添加您 lambda 的新应用程序 ID

于 2016-06-09T02:10:50.423 回答