2017-12-10 21 views
1

私はAlexaのフィードスキルを開発するためにAmazonからの青写真を使用しています。このブループリントでは、RSSフィードがURLから呼び出され、JSON形式に変換されてAmazon S3に保存されます。Alexa Skill FeedHelper.js - エンクロージャURLを取得するにはどうすればよいですか?

このファイルには、そのアクションを行うことが責任がある(そして、それは標準的な要素に適しています)

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

私はポッドキャストを再生したいので、私は、今もエンクロージャのURLが必要です。

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

しかし、このファイルの助けを借りて、S3で生成されたJSONは、まだそこには、エンクロージャの要素を持っていない:私はそれがfeedHelper.jsライン63でに次を追加していきますと思いました。私はそれを正しく呼んでいましたか?

また、私はすでに試した:

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

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

を他の問題は、オーディオリンクはhttpsでリンクされていること、である://とAmazonは、HTTPを受け入れません... しかし、このアドレスをhttpsを前にしたブラウザバーに手動で入力すると、ダウンロードが機能します。だからうまくいけば、ここで説明したように、HTTPをエンクロージャタグからhttpsに変更できますか?

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

したがって、上記の要約する:私はfeedHelper.js現在

を使用して作成されたJSONに書き込まれるRSSフィード

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

からこの要素を必要とし、それを上記のコードにもかかわらず、json内にエンクロージャ要素を生成しませんでした。

アイデアはありますか?

ありがとうございました!

答えて

0

友人が、フィードパーサーの正規化オプションがエンクロージャタグを私から隠していることを知りました。だから私は正常化した。しかし、あなたはアイテムを少し違うものにする必要があります。タイトルの代わりにrss:titleのように。.. 私の問題を解決しました!