首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alexa skills:自定义插槽没有返回值

Alexa skills:自定义插槽没有返回值
EN

Stack Overflow用户
提问于 2018-10-02 10:13:42
回答 2查看 448关注 0票数 0

希望有人能帮我解决这个问题,因为我已经被难住一周了。

我正在创建一个简单的Alexa技能从一个样本。这是挑选颜色的技巧--你告诉Alexa你最喜欢的颜色,然后再问她你最喜欢的颜色。我使用的是自定义插槽,而技能服务不想返回颜色的值。它成功启动,然后加载正确的意图,但是它没有发送正确的值。相反,输出中甚至没有值参数,只有名称和确认状态。

下面是我的技能的JSON,然后是我告诉技能:“我的颜色是红色”之后的请求JSON输出。我希望技能将"red“传递到value参数中。

代码语言:javascript
复制
{
"interactionModel": {
    "languageModel": {
        "invocationName": "color picker",
        "intents": [
            {
                "name": "MyColorIsIntent",
                "slots": [
                    {
                        "name": "color",
                        "type": "LIST_OF_COLORS"
                    }
                ],
                "samples": [
                    "my color is {color}",
                    "{color} is my color"
                ]
            },
            {
                "name": "WhatsMyColorIntent",
                "slots": [],
                "samples": [
                    "what's my color",
                    "what's my favorite color"
                ]
            },
            {
                "name": "AMAZON.NavigateHomeIntent",
                "samples": []
            }
        ],
        "types": [
            {
                "name": "LIST_OF_COLORS",
                "values": [
                    {
                        "name": {
                            "value": "green"
                        }
                    },
                    {
                        "name": {
                            "value": "red"
                        }
                    },
                    {
                        "name": {
                            "value": "yellow"
                        }
                    },
                    {
                        "name": {
                            "value": "orange"
                        }
                    },
                    {
                        "name": {
                            "value": "black"
                        }
                    },
                    {
                        "name": {
                            "value": "blue"
                        }
                    }
                ]
            }
        ]
    }
}
}

下面是请求:

代码语言:javascript
复制
"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.918d6da6-cd7e-4bb8-a2a9-41fb1af8a354",
"timestamp": "2018-10-01T01:53:56Z",
"locale": "en-US",
"intent": {
    "name": "MyColorIsIntent",
    "confirmationStatus": "NONE",
    "slots": {
        "Color": {
            "name": "Color",
            "confirmationStatus": "NONE"
        }
    }
}
}
EN

回答 2

Stack Overflow用户

发布于 2018-10-02 12:22:28

你的问题是槽" color“应该被命名为" color”,并且你的示例引用被更改以反映这一点,因此"my color is {Color}“和"{Color} is my color”,它不会选取该槽,因为它们的名称相同。确保也完成了停止和帮助所需的意图的技能,目前,这将继续要求颜色选择,直到你杀死程序。

票数 0
EN

Stack Overflow用户

发布于 2018-10-03 09:29:33

​发生了这样的事情:我正在研究同一技能的不同版本,每个版本都有相同的调用名称。当我输入调用名称时,它实际上打开了一个过时的技能版本(我没有删除旧技能-我有3个不同的技能-我喜欢重新开始)。我没有意识到,当你点击“测试”时,你可以测试任何你保存的技能,而不仅仅是你打开的技能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52601148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档