Alexa,从LaunchRequest Intent获得技能

时间:2018-10-04 07:30:12

标签: alexa alexa-skills-kit alexa-skill

我的帐户中拥有3种技能,例如SkillASkillBSkillC

我正在使用端点URL来收听这些技能,并且我的服务器对于这3种技能都是通用的。因此,如果我尝试通过说open SkillA来调用一项技能,则会调用LaunchRequest。其他2种技能也是如此。

那么我将如何知道调用哪个技能的LaunchRequest

我的服务器上装有Ralyxa宝石的红宝石。

1 个答案:

答案 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。

enter image description here