2010-02-09(Tue) 14:48
【AS3.0】Twitterの自分の発言を取得する。
FlashでTwitterの自分発言のRSSを取得して表示してみようと思います。
Flashオンリーでもできますが、クロスドメインの関係や、
将来的にBASIC認証が廃止になりOAouth認証になったときに
Flashだけでは厳しい面がありますので、今回はTwitterからRSSを取得するのにPHPを使用します。
-
まずはPHPの準備。
といっても自分の発言を取得するのには認証は必要ないのでこれだけです。<?php $req = @file_get_contents('http://twitter.com/statuses/user_timeline/ユーザー名.xml'); header("Content-Type: application/xml"); echo $req; ?>アドレスのユーザー名の部分には自分のものを入れてください。
適当な名前を付けて保存したらサーバーへアップするか、ローカルホストにいれます。
今回は「load.php」としました。
アドレスはこんな感じです。
http://localhost/load.php他にフォローしている人の情報や発言なども取得できます。
APIの日本語訳が公開されてますので、以下のアドレスを参考にしてください。http://watcher.moe-nifty.com/memo/docs/twitterAPI.txt
-
ActionScriptの部分です。
RSSはXMLファイルですので、扱い方は同じです。
自分の発言は「status -> text」で取得できます。package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import flash.events.IOErrorEvent; import flash.text.TextField; import flash.text.TextFieldType; public class Main extends Sprite { var xmlLoader:URLLoader; var rss:XML; public function Main() { //PHPファイルの指定 var xmlURL:String = "http://localhost/load.php"; xmlLoader = new URLLoader(); xmlLoader.load(new URLRequest(xmlURL)); //ロード完了時イベント xmlLoader.addEventListener(Event.COMPLETE, loadComp); //ロードエラー時イベント xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioError); } //RSS取得失敗時の処理 public function ioError(event:IOErrorEvent):void { var error_txt = new TextField(); error_txt.text = "RSSの取得に失敗しました。"; this.addChild(error_txt); } //RSSロード完了後の処理 public function loadComp(event:Event):void { //テキストを入れる配列 var textArray:Array = new Array(); //ロードしたXMLの配置 rss = new XML(xmlLoader.data); //テキストの高さ合計 var allHeight:Number = 0; for (var i:int = 0; i <= 4; i++) { textArray[i] = new TextField(); textArray[i].text = rss.status[i].text; //横幅設定 textArray[i].width = 200; //折り返し設定ON textArray[i].multiline = textArray[i].wordWrap = true; //ステージに配置 this.addChild(textArray[i]); //合計の高さに配置 textArray[i].y = allHeight; //高さの合計に今の高さをプラス allHeight += textArray[i].textHeight +15; } } } }で、最新の5つまでの発言を取得し表示できるはずです。
(テキストの配置でちょっとめんどうなことになってます……もっとスマートなやり方があると思うのでが)
category : ActionScript
tag : ActionScript PHP




