我具有调用我创建的Web服务的自定义技能。我能够启动并获得其他意图,但是当我的技能的用户更改通知权限时,我没有收到通知。我需要他的通知事件来获取用户ID,以便稍后通过其他服务发送推送通知。
下面是我的json文件:
{
"manifest": {
"apis": {
"custom": {
"endpoint": {
"uri": "https://pathToMyService",
"sslCertificateType": "Wildcard"
},
"interfaces": []
}
},
"events": {
"publications": [
{ "eventName": "AMAZON.TrashCollectionAlert.Activated" },
{ "eventName": "AMAZON.MessageAlert.Activated" }
],
"subscriptions": [
{ "eventName": "SKILL_PROACTIVE_SUBSCRIPTION_CHANGED" },
{ "eventName": "SKILL_ENABLED" },
{ "eventName": "SKILL_DISABLED" },
{ "eventName": "SKILL_PERMISSION_ACCEPTED" },
{ "eventName": "SKILL_PERMISSION_CHANGED" },
],
"regions": {
"NA": {
"endpoint": {
"uri": "https://pathToMyService",
"sslCertificateType": "Wildcard"
}
}
},
"endpoint": {
"uri": "https://pathToMyService",
"sslCertificateType": "Wildcard"
}
},
"manifestVersion": "1.0",
"permissions": [
{ "name": "alexa::devices:all:notifications:write" }
],
"publishingInformation": {
"locales": {
"en-US": { "name": "Test Events" }
}
}
}
}
下面是启动请求:我已截断了applicatioId,userID,conceptToken,deviceId,apiAccessToken
{“ version”:“ 1.0”,“ session”:{“ new”:true,“ sessionId”:“ amzn1.echo-api.session.60ad1e76-0872-4e10-b79d-7144cdf3e1c9”,“应用程序”: {“ applicationId”:“ amzn1.ask.skill.59d60703”},“ user”:{“ userId”:“ amzn1.ask.account.AGB7EOY”,“ permissions”:{“ consentToken”:“ eyJ0eXAiOiJKV1”}}} ,“上下文”:{“系统”:{“应用程序”:{“ applicationId”:“ amzn1.ask.skill.59d60703”},“用户”:{“ userId”:“ amzn1.ask.account.AGB7EOY”, “ permissions”:{“ consentToken”:“ eyJ0eXAiOiJKV1Qi”}},“ device”:{“ deviceId”:“ amzn1.ask.device.AFNXDZOAEMFDFKK”,“ supportedInterfaces”:{}},“ apiEndpoint”:“https://api.amazonalexa.com“,” apiAccessToken“:” eyJ0eXAiOiJKV1Qi“}},” request“:{” type“:” LaunchRequest“,” requestId“:” amzn1.echo-api.request.adb318af-1977-4b36-b8ad-0bb4352fa563“,” timestamp“:” 2020-03-22T23:37:55Z“,” locale“:” en-US“,” shouldLinkResultBeReturned“:false}}
谢谢
我解决了这个问题:当我使用skill.json文件更新时ask api update-skill -s amzn1.ask.skill.59d6 -f Test.json
它没有正确更新。我今天才注意到ask api get-skill -s amzn1.ask.skill.59d6 >Test2.json
事件部分丢失。我重新添加并重新应用,它现在可以正常工作。