我向亚马逊提交了一项针对 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