[練習]在Flash中使用Plurk API

雖然Plurk API早已不是新聞,但由於Plurk沒設Flash的存取策略檔(crossdomain.xml),所以Flash一直無法在網路上調用API,只能使用較低安全性的本機版,所幸最近Plurk終於更新crossdomain,現在Flash已可發佈網路版跟Plurk溝通,趁這個機會寫個簡單的練習:
2010-01-18_202934.png
程式範例
範例測試了Plurk的基礎功能,包括讀取文章及噗文,也能透過API擷取使用者的基本資料(姓名、karma)
由於Plurk還沒有Flash API版本,所以一切的溝通可使用一般網頁的request及respond方式,透過Flash本身的URLLoader讀取遠端本文,使用get傳值並接收JSON資料
private function plurkGet():void
{
 var request:URLRequest = new URLRequest();
 request.method = URLRequestMethod.GET;
 request.url = PLURL_API_URL + "/Timeline/getPlurks";

 var variables:URLVariables = new URLVariables();
 variables.api_key = API_KEY;

 request.data = variables;

 var urlLoader:URLLoader = new URLLoader();
 urlLoader.addEventListener(Event.COMPLETE, plurkGetCompleteHandler);
 urlLoader.addEventListener(IOErrorEvent.IO_ERROR, plurkErrorHandler);
 urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
 urlLoader.load(request);
}
private function plurkGetCompleteHandler(event:Event):void
{
 var loader:URLLoader = URLLoader(event.currentTarget);
 var jsonDecoder:* = new JSONDecoder(String(loader.data));

 var obj:Object = jsonDecoder.getValue();
 var plurkList:Array = obj.plurks as Array;
 userPlurks = new ArrayCollection(plurkList);
 showMsg("取回Plurk文章成功");
}
Plurk的溝通很簡單,不過他的登入驗證令人不敢恭維,在寫習慣Facebook API後,就覺得Plurk API實在太危險,任何第三方網站只要有帳號跟密碼就可登入,到底要由誰來確保第三方網站不會搞鬼?這點應該是Plurk要再改進的地方
程式原始碼下載

Plurk API:http://www.plurk.com/API

0 意見 :: [練習]在Flash中使用Plurk API