我在我的帐户中掌握了3项技能,如SkillA、SkillB和SkillC。
我正在使用端点url来听这些技能,而我的服务器对于所有3种技能都是常见的。因此,如果我试图通过说open SkillA来调用一项技能,它就会调用LaunchRequest。其他2项技能的情况也是如此。
那么,我如何才能知道哪种技能的LaunchRequest被调用了。
我的服务器是红宝石和Ralyxa宝石。
发布于 2018-10-04 07:52:51
对于每一项技能,都有一个独特的技能ID,称为applicationId。通过使用请求JSON中的applicationId,您可以很容易地确定请求来自哪种技能。
您可以在从Alexa到后端的每个请求中在application对象下找到这个application。
{
"version": "1.0",
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.xxxx-xxxx-xxxx-xxxx-xxxxxxx",
"application": {
"applicationId": "amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxx"
},
"user": {
"userId": "amzn1.ask.account.xxxxxxxxxxxxxx"
}
},
...您还可以从Alexa开发人员控制台查看技能ID,其中列出了您的Alexa技能。

https://stackoverflow.com/questions/52641301
复制相似问题