我向Alexa提交了Alexa技能,但由于知识产权,它未通过认证。亚马逊建议我说该服务是“for”知识产权权利人,所以我修改了名称,现在我正在尝试做的所有事情都出现了这个错误。
{
"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
答案 0 :(得分:0)
我之前在节点应用和Java 8应用上更改了名称两次。我所要做的就是在技能信息下更改名称(也改变了调用名称)。它第一次工作。现在我的技能名称没有在alexa应用程序上更新一次,而是在另一次。由于您未获得认证,因此您可能希望创建技能以便从头开始。这应该只需要大约5或10分钟。只是不要忘记更改或添加lambda的新应用程序ID