2011年5月4日 星期三

AS3 Class 懶人系列 之 阿Cain的 FaceBook API 2.0 讓你快速上手FB活動(四) -發布訊息

如果你想要發布訊息到塗鴉牆,可以參考使用以下方法。
首先登入時的認證,必須要有Permissions.PUBLISH_STREAM權限,才能發布訊息。
比方說你想取得與用者資料,必且取得發佈權限。

fb.login(Permissions.ABOUT_ME + "," + Permissions.PUBLISH_STREAM);

認證了之後你只要使用postFeed(要發的字串)方法就可以發布訊息。
我們直接先看程式

private function onLOGIN(e:FaceBook_Login):void 
{
     fb.addEventListener(ResPostFeedEvent.RESULT, onPostRESULT);
     fb.addEventListener(ResPostFeedEvent.ERROR, onERROR);
     var _mess:Message = new Message("要發的字串");
     fb.papaPost(_mess);
}
private function onPostRESULT(e:ResPostFeedEvent):void 
{
     cont.text = "發文ID : "+e.post_id;
}
private function onERROR(e:FaceBook_Event):void 
{
     cont.text = e.error_msg + "\n";
     cont.text += e.failJSON";
}

首先是發佈的訊息,它是一個訊息物件的版型,裡面還有一些屬性,例如以下範例

var _mess:Message = new Message("要發的字串");
//連結
_mess.link = "http://http://cainmaxdesign.blogspot.com/";
_mess.name = "連結名稱";
//顯示的圖片路徑
_mess.picture = "http://avatars.plurk.com/3749606-big16.jpg";
fb.papaPost(_mess);

發佈成功後會回傳ResPostFeedEvent事件,你可以去查詢他的post_id屬性,這是發文ID路徑。

6 則留言:

匿名 提到...

你好, 我是剛入門的新手.
已經有成功取得使用者資訊.
想請問要如何取得使用者相簿及裡面的照片呢?

感謝大大回覆!

Unknown 提到...

取得照片集資料,與上傳照片的部分,我會找時間再詳述,先謝謝您的支持囉!
其實您也可以參考我的doc文件,裡面也有一些簡單的說明

匿名 提到...

您好,請問
我使用 _mess.name = "" 在裡面打了我想貼的文字,可是在塗鴉牆顯示的一直都是 "My Facebook Login Page",這是什麼原因呢?
好像 _mess.actions 也沒作用。
謝謝~

Unknown 提到...

程式貼出來看一吧

匿名 提到...

好奇怪 我貼了2篇都沒有顯示
程式貼到網站了
http://rochung.myweb.hinet.net/fb_as3.html
感謝!!!

Unknown 提到...

var _mess:Message 的屬性一個一個測試看看。
我記得他的屬性有相依性,
其中一個屬性錯了,其他相依的屬性就會出不來。
var _mess:Message = new Message(userName+" 正在玩flyingfreely");
 _mess.name = "快來玩flyingfreely";
 _mess.link = "其他比較單存的網址";
後面的先不要,這樣先試看看吧..