使用模拟器时,Alexa技能请求中的错误意图

时间:2017-02-17 21:11:07

标签: alexa-skills-kit alexa-skill

我使用此意图架构设置我的意图:

{
  "intents": [
    {
      "intent": "StartIntend"
    },
    {
      "intent": "AMAZON.YesIntent"
    },
    {
      "intent": "AMAZON.NoIntent"
    }
  ]
} 

我的样本话语看起来像这样(它是德语):

StartIntend Hallo
StartIntend Moin
StartIntend Guten Tag

为什么当我使用“是”或“Ja”时,Amazon Developer Console会生成以下请求?

{
  "session": {
    "sessionId": "SessionId...",
    "application": {
      "applicationId": "amzn1.ask.skill...."
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account...."
    },
    "new": true
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId...",
    "locale": "de-DE",
    "timestamp": "2017-02-17T21:07:59Z",
    "intent": {
      "name": "StartIntend",
      "slots": {}
    }
  },
  "version": "1.0"
}

无论我输入什么,它始终使用意图StartIntend

为什么?我忘记了什么/我做错了什么?

3 个答案:

答案 0 :(得分:0)

架构和话语看起来正确。 我尝试通过执行以下步骤来复制您所看到的内容:

  1. 按原样将其复制到我帐户中的新技能
  2. 在“配置”页面上选择了北美地区。
  3. 将lambda设置为指向我拥有的现有lambda。出于测试目的,我只需要一个有效的ARN。无论如何我都会忽略这个回应。
  4. 然后进入"是"进入服务模拟器
  5. 它确实向Lambda发送了AMAZON.YesIntent。 因此,我得出结论,您发布的数据没有任何内容。

    我尝试输入Ja导致Star​​tIntend,但我想我会期望,因为Ja不是"是"在北美。

    您是否已将该地区设置为欧洲,并为欧洲地区输入了Lambda?

答案 1 :(得分:0)

我与亚马逊支持部门讨论过这个问题。经过一些实验后,你必须用小写字母写“ja”。它似乎是模拟器本身的一个错误。

答案 2 :(得分:-1)

在Alexa Skills Kit中创建技能时,您需要选择正确的语言,即德语,请参阅下面的截图。

其他一切似乎都是正确的。

enter image description here