Twitter API1.1対応 AS3版 [Flex]
まだ使えているようだけど、Twitter API1.0そろそろまずいか?
とりあえず、Youtube Player 'Mu' Serissaの方でAPI1.1にしてみるか。
変更点の覚書
1.APIのバージョン変更
https://api.twitter.com/1→https://api.twitter.com/1.1
2.リクエストURLのxmlをjsonに変更
/statuses/home_timeline.xml→/statuses/home_timeline.json
他多数
3.取り出しデータXML形式からJSONに変更
定番のas3corelibを使おうと思ったけど、そういえばネイティブのJSONあったよな
これを使うことにした。意外に簡単にxmlのソースをJSON化できた。
元のXML DataParserクラス
JSONに変更したDataParserクラス
Twitter APIで取り出されたJSON形式のデータはparseでデシリアライズして
var parseData:Object = JSON.parse(String(json));
簡単にデータ取り出せた。
とりあえず、Youtube Player 'Mu' Serissaの方でAPI1.1にしてみるか。
変更点の覚書
1.APIのバージョン変更
https://api.twitter.com/1→https://api.twitter.com/1.1
2.リクエストURLのxmlをjsonに変更
/statuses/home_timeline.xml→/statuses/home_timeline.json
他多数
3.取り出しデータXML形式からJSONに変更
定番のas3corelibを使おうと思ったけど、そういえばネイティブのJSONあったよな
これを使うことにした。意外に簡単にxmlのソースをJSON化できた。
元のXML DataParserクラス
public static function parseUserInfo(xml:XML):Array { var statusData:StatusData; var userData:UserData; var extendedData:ExtendedUserData; var array:Array = []; var list:XMLList = xml..user; var n:Number = (list.length() == 0) ? 1 : list.length(); for (var i:Number = 0; i < n; i++) { var node:XML = (n > 1) ? list[i] as XML : xml; if (node.id.toString() == "") node = list[i] as XML; if (node) { statusData = new StatusData(node.status.created_at, node.status.id, : :
JSONに変更したDataParserクラス
public static function parseUserInfo(json:Object):Array { var array:Array = new Array(); var parseData:Object = JSON.parse(String(json)); var statusData:StatusData; var userData:UserData; var extendedData:ExtendedUserData; statusData = new StatusData(parseData.status.created_at, parseData.status.id, : :
Twitter APIで取り出されたJSON形式のデータはparseでデシリアライズして
var parseData:Object = JSON.parse(String(json));
簡単にデータ取り出せた。
コメント 0