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:标题而不是标题,..等解决了我的问题!