WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

Yahoo! Pipes ちょっぴり追加情報

先日公開された Yahoo! Pipes ですが、やはり便利ですね。購読しているフィードの、「ここがこうだったらな」というところを気軽に編集できるのは素晴らしいです。自分でもいくつかパイプを作ってみて、その過程で知った追加情報が 2 つほどあるので、メモ代わりに記事にしておこうと思います。大したことではありませんが、お役に立てば幸いです。

Input form のダブルエスケープバグ

せっかく URL 入力フォームがあるので、任意のフィード URL が指定できる汎用のフィルタパイプを作ってみたんです。それが Run this pipe のページではきちんと動くんですが、なぜか RSS フィードや JSON フィードを表示させると中身が空っぽになってしまいました。いろいろとパイプを組みなおしたりしてみても修正できないので、恥を忍んでぶろーくんいんぐりっしゅでフォーラムに質問してみました(^^ゞ

http://discuss.pipes.yahoo.com/Message_Boards_for_Pipes/threadview?m=tm&bn=pip-DeveloperHelp&tid=382&mid=412&tof=30&rt=2&frt=2&off=1

どうやら、フォームの入力文字列を二重エスケープしてしまうバグがあるらしく、現在修正しているところだそうです。 URL を確認してみると、確かにばっちり二重エスケープされてます。

http://.../run?feed=http%253A%252F%252Fslashdot.jp%252Fslashdotjp.rss&_render=rss

というか、 URL 見て気付けよって話ですね。私、相変わらず注意力ないなぁ・・・orz。というわけで、 URL の "%25" を手動ですべて "%" に置き換えれば動くと思います。バグが修正されるまではこれで我慢です。

ただ、不思議なことに最初に作った翻訳パイプは二重エスケープされているにも関わらずちゃんと動くんですよね・・・。なんでだろう(?_?)

パイプの出力を JSONP で取得

パイプの JSON フィード URL に以下の CGI パラメータを付けることで、 JSONP 形式の出力が得られるようです。

_callback=<コールバック関数名>

これは素晴らしい機能ですね。 Yahoo! Pipes を介せば JavaScript からクロスドメインであらゆる RSS / Atom / JSON フィードにアクセスできるわけです。 JSON(P) フィードの内容はパイプの組み方や元データによって微妙に変化しますが、主なデータは以下のようにしてアクセスできます(取得した JSON データが変数 json に格納されていると仮定しています)。

アクセス方法内容
json.countアイテム数
json.value.titleフィードタイトル
json.value.linkRun this pipe ページの URL
json.value.descriptionフィードの説明
json.value.pubDate更新日時
json.value.items[n].title各アイテムのタイトル
json.value.items[n].link各アイテムの URL
json.value.items[n].description各アイテムの内容
json.value.items[n].pubDate各アイテムの更新日時

その他の追加パラメータは基本的に要素名がそのままオブジェクトのメンバ名(または連想配列のインデックス)になるようです。

実際にこれを利用して任意のフィードの内容を出力する Web パーツを自動生成してくれるサービスも公開されています。

http://kentbrewster.com/badger/

自分のお気に入りフィードを統合したものを Web ページに表示する、なんてのも面白いかもしれませんね。

以上です。また新しいネタを見つけたら記事にしますね。

追記

ついさっき見つけたネタですが、 Dojo が Yahoo! Pipes の JSONP フィード読み込みをサポートする(した?)みたいですね。

http://journal.mycom.co.jp/news/2007/02/26/342.html (MYCOMジャーナル)
http://ajaxian.com/archives/yahoo-pipes-support-in-dojo (Ajaxian)

どんどんサポートが広がる Yahoo! Pipes 。今後が楽しみです。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles