我的帐户中拥有3种技能,例如SkillA
,SkillB
和SkillC
。
我正在使用端点URL来收听这些技能,并且我的服务器对于这3种技能都是通用的。因此,如果我尝试通过说open SkillA
来调用一项技能,则会调用LaunchRequest
。其他2种技能也是如此。
那么我将如何知道调用哪个技能的LaunchRequest
。
我的服务器上装有Ralyxa宝石的红宝石。
答案 0 :(得分:1)
每个技能都有一个唯一的技能ID,称为applicationId
。利用请求JSON中的applicationId
,您可以轻松确定请求来自哪种技能。
从Alexa到后端的每个请求中,您都可以在applicationId
对象下找到此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技能的Alexa开发人员控制台中查看技能ID。