2011年6月28日 星期二

AS3 Class 懶人系列 之 阿Cain的 FaceBook API 2.0 讓你快速上手FB活動(五) -上傳影像到相簿

除了發佈訊息版型到塗鴉墻,當然也可以上傳影像了。
一樣必須要有Permissions.PUBLISH_STREAM權限,才能發布訊息喔!
取得全權限只要
fb.postBitmapData(BitmapData物件);
就可以把影像上傳到相簿了,很方便吧XD
上傳完成後會發出事件 ResPostFeedEvent.RESULT
你可以輸出事件的 result.id 就是圖片的ID
反正如果失敗,則會傳回ResPostFeedEvent.ERROR事件
另外還有一點要注意的,就是不管是訊息發佈還是上傳圖片,還是都必須要經過使用者利用按鈕觸發才能正常傳送,不然還是會產生問題...

以下參考程式
package  
{
     import Cain.facebook2.event.FaceBook_Login;
     import Cain.facebook2.event.ResPostFeedEvent;
     import Cain.facebook2.WebFaceBook;
     import Cain.facebook2.data.Permissions;

     public class FB_UpBitmap extends Sprite 
     {
          private var fb:WebFaceBook;
          public function FB_UpBitmap() 
          { 
               fb = new WebFaceBook("app id");
               //登入完成事件
               fb.addEventListener(FaceBook_Login.LOGIN, onLOGIN);
               //上傳完成事件
               fb.addEventListener(ResPostFeedEvent.RESULT, onRESULT);
               登入按鈕.addEventListener(MouseEvent.CLICK, onInit);
          }
          private function onInit(e:MouseEvent):void 
          {
                //登入
               fb.login(Permissions.ABOUT_ME+","+Permissions.PUBLISH_STREAM);
          }
          //登入完成
          private function onLOGIN(e:MouseEvent):void 
          {
               上傳按鈕.addEventListener(MouseEvent.CLICK, onUpBitmapData);
          }
          private function onUpBitmapData(e:MouseEvent):void 
          {
               //上傳BitmapData物件
               fb.postBitmapData(BitmapData物件);
          }
          private function onRESULT(e:ResPostFeedEvent):void 
          {
               trace("圖片ID:"+e.result.id);
          }
     }
}

沒有留言: