Echo Show python技能不生成显示模板

时间:2017-09-05 06:54:30

标签: python alexa-skills-kit amazon-echo

我正在为echo show开发一项技能。但是我无法显示所有显示模板和来自python lambda技能的东西。我能够完美地完成alexa技能,并且能够添加图像网址,并且工作正常。但是当添加显示模板时,它显示无效响应。

我已经按照本教程进行操作 https://medium.freecodecamp.org/how-to-design-and-code-alexa-skills-for-amazons-echo-show-c5716da8fee5

这是要添加到json响应中的额外参数。

    directives: [
    {
    type: “Display.RenderTemplate”,
   template: {
       type: “BodyTemplate1”,
       token: “T123”,
       backButton: “HIDDEN”,
       backgroundImage: {
           contentDescription: “StormPhoto”,
           sources: [
               {
                  url: “https://s3.amazonaws.com/hurricane-data/hurricaneBackground.png”
               }
           ]
      },
      title: “Hurricane Center”,
      textContent: {
          primaryText: {
              text: output,
              type: “PlainText”
          }
      }
  }
}],

这是我修改后的渲染模板方法的样子。 def build_speechlet_response(title,output,reprompt_text,should_end_session):     imgUrl的=" HTTPS://thesweetsetup.com/wp-content/uploads/2014/10/scanbot_ico_1024.png"

return {
    'outputSpeech': {
        'type': 'PlainText',
        'text': output
    },
    'card': {
        'type': 'Standard',
        'title':  title,
        'text': output,
        "image": {
            "smallImageUrl": imgurl,
            "largeImageUrl": imgurl
        }
    },
    'reprompt': {
        'outputSpeech': {
            'type': 'PlainText',
            'text': reprompt_text
        }
    },
directives: [
    {
    type: “Display.RenderTemplate”,
   template: {
       type: “BodyTemplate1”,
       token: “T123”,
       backButton: “HIDDEN”,
       backgroundImage: {
           contentDescription: “StormPhoto”,
           sources: [
               {
                  url: “https://s3.amazonaws.com/hurricane-data/hurricaneBackground.png”
               }
           ]
      },
      title: “Hurricane Center”,
      textContent: {
          primaryText: {
              text: output,
              type: “PlainText”
          }
      }
  }
}],

    'shouldEndSession': should_end_session
}

但是这给了我错误的无效响应格式。我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

这在python中对我有用。但无法呈现列表模板。

def build_response(session_attributes, speechlet_response,text_response,speech_response,secondary_text,teritary_text,should_end_session):
session=should_end_session
return {
    'version': '1.0',
    'sessionAttributes': session_attributes,
    'response': {
           "directives": [
             {
  "type": "Display.RenderTemplate",
  "template": {
"type": "BodyTemplate2",
"token": "A2079",
"backButton": "VISIBLE",
"backgroundImage": {
  "contentDescription": "Textured grey background",
  "sources": [
    {
      "url": "https://i.pinimg.com/originals/8b/e4/cc/8be4ccbbc43b1131c59b09b6c27f2e58.jpg"
    }
  ]
   },
  "title": "Document Scanner",
  "image": {
    "contentDescription": "testing car",
    "sources": [
      {
        "url": "https://thesweetsetup.com/wp-content/uploads/2014/10/scanbot_ico_1024.png"
      }
    ]
  },
  "textContent": {
    "primaryText": {
      "text": '''<font size='6'>'''+text_response+'''</font>''',
      "type": "RichText"
    },
     "secondaryText": {
      "text": secondary_text,
      "type": "PlainText"
    },
    "tertiaryText": {
      "text": teritary_text,
      "type": "PlainText"
    }
  }
}
 }
           ],
           "outputSpeech": {
             "type": "SSML",
             "ssml": '''<speak>'''+speech_response+''' </speak>'''
           },
           "reprompt": {
             "outputSpeech": {
               "type": "SSML",
               "ssml": "<speak>how can i help you ?</speak>"
             }
           },
           "shouldEndSession": session,
            "card": {
             "type": "Standard",
             "title": "content.simpleCardTitle",
             "content": "content.simpleCardContent"
           }
         }
}

text_response,speech_response,secondary_text,teritary_text都是添加的字符串参数。