fc2ブログ

[ActionScript 3.0] Yahoo! pipesとの連携

2007-10-31 | 22:42

上のウインドウは次の手順で作られています。
1. "はてなブックマーク - タグ「ActionScript」を含む注目エントリー" (http://b.hatena.ne.jp/t/ActionScript?mode=rss&sort=hot&threshold =3) を出力するYahoo!pipeを作成
2. ActionScriptからそのパイプの出力を取得
3. 出力結果のTitleを一覧表示 

ActionScript部分のソース
package
{
    import flash.display.*;
    import flash.text.*;
    import flash.events.*;
    import flash.net.*;

    [SWF(width='600',height='400',backgroundColor='0xeeeeee',framerate='30')]
    public class Main extends Sprite
    {
        public function Main()
        {
            // Yahoo! pipesへのリクエスト
            // pipes.yahoo.com ではなく pipes.yahooapis.com 
            // _render=rss を渡すことによって結果をXMLで取得できる
            var requestUrl:String = "http://pipes.yahooapis.com/pipes/pipe.run?_id=5BboD3_H3BGAjWirODY80A&_render=rss";
            var req:URLRequest = new URLRequest(requestUrl);
            var loader:URLLoader = new URLLoader(req);

            loader.addEventListener(Event.COMPLETE, onLoad);
        }

        private function onLoad(e:Event):void{
            var rss:XML = XML(((URLLoader)(e.target)).data);
            var items:XMLList = rss..item;

            var i:int = 0;
            for each(var item:XML in items){
                trace(item.title.toString());
                var tf:TextField = new TextField();
                addChild(tf);
                tf.htmlText = "<a target='_blank' href='" + item.link.toString() + "'>" + item.title.toString() + "</a>";
                tf.width = 400;
                tf.height = 20;
                tf.textColor = 0xff;
                tf.y = (i++)*tf.height;

                if(i > 20) break;
            }
        }
    }
}


スポンサーサイト