2011年1月5日 星期三

Facebook ActionScript Graph API ( 4 ) Dialogs

這一篇簡直是在考驗debug與找solution的功力!Dialog是用來彈出對話框,讓user與其互動,例如發布post到塗鴉牆,或是彈出extended permissions讓user同意等。因為user必須與其互動(按下同意按鈕之類)才會有反應,所以不需要特別的permission。例如不需要publish_stream權限也可以使用Feed Dialog去發post。目前文件裡面列出三種Dialog可用:Feed DialogFriends Dialog以及OAuth Dialog。而在這個API是使用Facebook.ui()來呼叫。很不幸的,這個method雖然可以正常呼叫,不過有點小bug,就是callback function無法正常呼叫,詳情見這篇

2011年1月4日 星期二

Facebook ActionScript Graph API ( 3 ) FQL、Old REST API以及picture

這三個東西篇幅不大,因此放在一起講。我們繼續擴充這個測試App.,首先在使用者介面新增三個TextField與三個Button,個別用來呼叫這三個method,類似這樣:

而程式主要是使用Facebook.fqlQuery(),Facebook.callRestAPI(),以及Facebook.getImageUrl()。

Facebook ActionScript Graph API ( 2 ) Graph API的GET、POST與DELETE

完成授權與登入後,接下來呼叫API的方式不管是外部Web連結Facebook,或者是IFrame App.,都沒有差別。由於等等我們要測試自動發布到塗鴉牆的功能,所以login的時候請多加上"publish_stream"這個extended permission,並確定重新執行一次login。然後我們做一個介面類似這樣:

由上而下放了三個TextField:
apiRequest_txt:輸入Graph API Request用的,例如:/me/friends。
params_txt:當使用POST時,需要帶的參數。這裡因為AS的Object不方便用String去轉,因此我們設計讓user輸入JSON encoded的String,然後再用as3corelib的JASON.decode將它解回Object。輸入例如:{"message":"test message!"}。
result_txt:將回傳的結果顯示出來。這裡可以將result轉成JSON encoded String之後顯示出來。
左邊放個名為btnApi的Button在輸入完後去呼叫。另外放個method_cb的ComboBox來選擇要用GET、POST或是DELETE。

Facebook ActionScript Graph API ( 1 ) 取得認證與授權,以及登入

首先準備幾件事:第一,下載Adobe ActionScript 3 SDK for Facebook Platform API,裡面有原始檔,SWC,Docs,Examples,是個規模還算小的API,所以其實花點時間就看完了。第二,雖然Adobe上面有一系列介紹文章,建議可以先開發AIR應用,再將程式碼改為WEB App.,但我試過好像也沒多方便,所以還是習慣丟到網站上測試。要在網路上測試,當然要安裝Flash Player Debug版,還要有個可以讀取Flash Log的工具,例如Vizzy Flash Tracer。第三,開一個測試App.,在"網站"裡面設定好Site URL,以及"Facebook整合"裡面的Canvas Page與Canvas URL,我們等等會練習一般Web連結Facebook,以及Facebook上IFrame App.的認證授權與登入。最後將"應用程式 ID"複製下來,接下來會用到。