仕事でAir for ios/Androidでアプリを制作していました。
このアプリでTwitter投稿機能を実装したのですが、いろいろ試行錯誤したのでメモ。
仕事でAir for ios/Androidでアプリを制作していました。
このアプリでTwitter投稿機能を実装したのですが、いろいろ試行錯誤したのでメモ。
Twitterと絡めた案件がありそうなので、TwitterAPIを使ったサンプルを作ってました。
簡単にいろいろデータが取れるんですね。
基本は、
http://twitter.com/xxxxxxx/xxxxxxx/(ID).xml
(ID)にはユーザー名が入り、XML形式の他『.json』とすれば、
JSON形式でデータが返ってきます。
http://twitter.com/statuses/friends/TNKHRYK.json
とすれば、自分がフォローしているアカウントの情報が取得できます。
urlLoader.addEventListener(Event.COMPLETE, jsonLoadComp); urlLoader.load(new URLRequest("http://twitter.com/statuses/friends/TNKHRYK.json")); private function jsonLoadComp(e:Event):void { var json:String = URLLoader(e.target).data; var content_json = JSON.decode(json); var total:int = content_json.length; for (var i:int = 0; i <total ; i++) { trace("フォローしている人のサムネイル画像URL" + content_json[i].profile_image_url); } }
フォローしている人のサムネイル画像のURLをJSONデータから取り出しています。
http://twitter.com/statuses/friends/TNKHRYK.json?count=50
データの数を制限するには上記のようにクエリを指定します。
こちらの日本語訳仕様書を参考にさせていただきました。
Twitter API 仕様書
・・・と、サンプルを制作してアップしたところ、クロスドメインのことを完全に失念していました。
ローカルで動かす分にはFlash単体で支障ないですが、
webにアップすると別ドメインからのデータ参照に制約がかかります。
これを回避するためにデータを中継するPHPを置くなどの対策が必要となるのでした。
以下参考にさせていただきました。
FlashでTwitterの発言を取得してみる