littlepad blog

yahoo!pipesでFLASH用のRSSを生成するメモ

通常、RSSなどをFLASH側で直接読み込もうとすると、
セキュリティサンドボックスエラーで読み込むことが出来ない。
そういった場合、Yahoo!pipes を利用すると便利。

Yahoo!pipes は任意のRSS又はXML、JSONデータを入力し、
並べ替えや置換等の様々な加工を施し、別のRSSフィードを生成してくれるサービス。
しかもクロスドメインにも対応しているのでFLASHでも読み込み可能なフィードを生成できる。
インターフェースも読み込んだRSSに対して処理したいモジュールをパイプでつないでいくという直感的なもの。

下記の例では Weather Hacks のRSSを読み込み、データを加工している。
今回はFetch Feed → Create RSS → Filter → Truncate → Rename → Regex → Pipe → Outputという順で処理している。



Fetch Feed
まずここで読み込むRSSを指定。
複数指定することも出来る。

Create RSS
読み込んだRSSを元に新たなRSSを生成

Filter
指定条件を元に記事を除去したり抽出してくれるモジュール。
ここでは item.title に “[PR]” が含まれている(Contains)記事を削除(Block)している。

Truncate
フィード件数を指定。
ここでは1件を指定している。

Rename
データ名を変更するモジュール。

Regex
正規表現を用いてデータを加工するモジュール。

Pipe Output
加工したデータを出力するモジュール
右上部の[SAVE]ボタンを押してデータをセーブすると、
最上部に「Run Pipe…」というテキストリンクが表示され、
そこをクリックすると、生成したリストが表示される。

ここの「Get as RSS」でRSSを取得することが出来るが、
このままだとクロスドメインに対応していない。
クロスドメインに対応するためには、取得したURLの pipes.yahoo.com の部分を
pipes.yahooapis.com に変更してやる。

http://pipes.yahoo.com/pipes/pipe.run?_id=xxxxxxxxxx

http://pipes.yahooapis.com/pipes/pipe.run?_id=xxxxxxxxxx

RSSには全部の情報が記述されないっぽいので、細かい情報を必要とする場合は
JSONで取得した方がいいっぽい。
FLASH側でJSONを読み込むにはadobeのas3corelibを利用する。

モバイルバージョンを終了