Yahoo! Pipesを使って
twitterのログを読んでみるテスト。2
自動リロードなどの機能はありません。
書き込みもできません。
ID,PWを入力してボタンを押すと
自分のタイムラインが読めます。
SharedObjectに保存しようと思ったけど、
悪用する人がでると困るので。自粛。
背景色は、ID番号から適当に生成
Pipesってホントに良くできているね。すごい2。
▼Wonderfl
http://wonderfl.net/code/378c8720bd2112c3afd16ce5fd4bbbee862ad2d6 
▼ActionScript AS3(FP10)
[sourcecode language=”as3″]
/*
Yahoo! Pipesを使って
twitterのログを読んでみるテスト。2
自動リロードなどの機能はありません。
書き込みもできません。
ID,PWを入力してボタンを押すと
自分のタイムラインが読めます。
SharedObjectに保存しようと思ったけど、
悪用する人がでると困るので。自粛。
背景色は、ID番号から適当に生成
Pipesってホントに良くできているね。すごい2。
ちなみに僕はほとんどtwitterに書き込まないので、
フォローしても良いこと無いと思うよ。
*/
package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.text.TextField;
	[SWF(width = "465", height = "465", backgroundColor = 0xFFFFFF, frameRate = "30")]
	public class Main extends Sprite{
		private var userIDTF:TextField = new TextField();
		private var userPWTF:TextField = new TextField();
		private var commentBase:Sprite = new Sprite();
		public function Main() {
			addChild(commentBase);
			var userID:TextField = new TextField();
			userID.y = 2;
			userID.width = 21;
			userID.height = 21;
			userID.text = "ID:";
			userID.selectable = false;
			addChild(userID);
			userIDTF.x = 21;
			userIDTF.y = 2;
			userIDTF.width = 100;
			userIDTF.height = 20;
			userIDTF.border = true;
			userIDTF.type = "input";
			userIDTF.text = "";
			addChild(userIDTF);
			var userPW:TextField = new TextField();
			userPW.x = 130;
			userPW.y = 2;
			userPW.width = 26;
			userPW.height = 21;
			userPW.text = "PW:";
			userPW.selectable = false;
			addChild(userPW);
			userPWTF.x = 156;
			userPWTF.y = 2;
			userPWTF.width = 100;
			userPWTF.height = 20;
			userPWTF.border = true;
			userPWTF.type = "input";
			userPWTF.text = ""
			userPWTF.displayAsPassword = true;
			addChild(userPWTF);
			var bg:Sprite = new Sprite();
			bg.graphics.beginFill (0xCCCCCC, 1);
			bg.graphics.drawRoundRect (272, 2 , 100 , 20 , 10 , 10);
			addChild(bg);
			var userIDText:TextField = new TextField();
			userIDText.x = 286;
			userIDText.y = 6;
			userIDText.width = 170;
			userIDText.height = 21;
			userIDText.text = "(re)load";
			userIDText.selectable = false;
			addChild(userIDText);
			var button:Sprite = new Sprite();
			button.graphics.lineStyle (2, 0x999999, 1.0);
			button.graphics.beginFill (0xCCCCCC, 0);
			button.graphics.drawRoundRect (272, 2 , 100 , 20 , 10 , 10);
			button.buttonMode = true;
			button.addEventListener(MouseEvent.CLICK,CLICK);
			addChild(button);
		}
		private function CLICK(e:MouseEvent = null):void {
			var loader:URLLoader = new URLLoader();
			loader.addEventListener(Event.COMPLETE, COMPLETE);
			var pipesURL:String ="http://pipes.yahooapis.com/pipes/pipe.run?_id=1924107a0b4f161fca61c3e99b2c9b3a&_render=rss&password_input="+userPWTF.text+"&username_input="+userIDTF.text;
			loader.load(new URLRequest(pipesURL));
		}
		private function COMPLETE(e:Event):void {
			while (commentBase.numChildren) {
				commentBase.removeChildAt(0);
			}
			var list:XML = new XML(e.currentTarget.data);
			var _length:int = list.channel.item.length();
			var tfY:int = 26;
			for (var i:int = 0; i < _length; i++) {
				var tf:TextField = new TextField();
				tf.htmlText += String(list.channel.item[i].description).replace(/_normal./g,"_mini.") + "<br>\r";
				tf.wordWrap = true;
				tf.width = stage.stageWidth;
				tf.autoSize = "left";
				tf.y = tfY;
				tfY += Math.max(tf.height+2,42);
				tf.background = true;
				tf.backgroundColor = halfColor(int(String(list.channel.item[i].description).split("/")[5]));
				commentBase.addChild(tf);
			}
		}
		private function halfColor(num:int):int{
			num = num%0xFFFFFF;
			var r:int = num >> 16;
			var g:int = num >> 8 & 0xFF;
			var b:int = num & 0xFF;
			r = (r+0xFF)>>1;
			g = (g+0xFF)>>1;
			b = (b+0xFF)>>1;
			return r*0xFFFF+g*0xFF+b;
		}
	}
}
[/sourcecode]
 
			


 
				
			 
				
			 
				
			