Alexa Skill FeedHelper.js – 我如何获得机箱的url?

我正在使用亚马逊的蓝图来开发Alexa饲料技能。 在这个蓝图中,RSS源从一个URL被调用并转换成JSON格式并保存在Amazon S3上。

这个文件负责做这个动作(对于标准的元素来说它是很好的)

https://github.com/alexa/skill-sample-nodejs-feed/blob/master/lambda/custom/feedHelper.js

我现在也需要shell的url,因为我想播放一个播客。 我认为这将通过添加以下内容到第63行的feedHelper.js中:

if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].attributes['url']; } 

但是S3在这个文件的帮助下生成的JSON在那里仍然没有包含元素。 我甚至把它调用正确吗?

我也试过了:

  if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].url; } 

  if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure']['url']; } 

另一个问题是,audio链接与https://链接,亚马逊不接受HTTP …但是,当我在浏览器栏中手动将此地址与https放在前面时,下载工作正常。 所以希望我能够把这个机箱标签中的HTTP改成https,就像这里所描述的那样?

http://code.dblock.org/2017/02/09/alexa-skill-to-play-your-podcast.html

所以总结上面:我需要从RSS提要这个元素

  <enclosure type="audio/mpeg" url="http://feeds.soundcloud.com/stream/file.mp3" length="7087881"/> 

写入使用feedHelper.js创build的JSON中

目前,尽pipe我的代码如上,但它并没有在json中生成任何机箱元素。

有没有人有一个想法?

谢谢!

一位朋友帮助我发现Feedparsing器的标准化选项隐藏了我的机箱标签。 所以我把正常化了。 但是,你必须调用这些项目有点不同。 像rss:标题而不是标题,..等解决了我的问题!