2010年2月12日 星期五

Facebook API Template - 塗鴉牆共同互動留言教學

之前因為 Template Bundle 的取消,所以我藉機學了 Facebook.streamPublish 的使用,詳情請參考:Facebook API Template Bundle - 發佈到個人塗鴉牆的樣版設定教學。只是,自從 Facebook 大部份的測驗,其邀請函根本不透過使用者的確認就自動發佈出去,讓我開始對測驗有些失望,便也不想再嘗試使用了。


最近有網友留言請教關於留言的問題,使用 Facebook.streamPublish 發佈到使用者的塗鴉牆時,那些制定好的 template 訊息,該如何讓所有的使用者都可以一起留言、按讚呢?而不在只是個人留言板。他稱呼這為留言派對。


這個我有印象在文件上有提到一些關鍵字,但直到今天才正式來測試使用,也算是在複習一下,或許過不久我又得投入這方面的研究吧。只是我一直搞不懂,有些 facebook develop wiki 頁面我很難從官方 wiki 連過去找到,好比如我想要像 Java API 那樣,可以很快地去找到想要用的函數及其說明。


首先可以逛逛的網頁:



這次實做只使用 Facebook Developers | FB.Connect.streamPublishAttachment (Streams) - Facebook Developer Wiki 資訊,其中對於 template 訊息部份,其實只要去制定 comments_xid 就可以了,但這種留言派對我覺得也有缺點,那就是大家的留言都串在上面,隱私會有問題,但在一些公告訊息方面,的確可以考慮使用啦。


comments_xid: An application-specific xid associated with the stream post. The xid allows you to get comments made to this post using the Comments API. It also allows you to associate comments made to this post with a Comments Box for FBML fb:comments.


程式碼範例:


<script type="text/javascript">
function do_post()
{
        var attachment = {
                'name':'Quiz',
                'href':'http://apps.facebook.com/your_apps/',
                'description':'good!',
                'caption':'{*actor*} is very smart!',
                'comments_xid':'1',
                'media':[
                                {
                                        'type':'image',
                                        'src':'http://upload.wikimedia.org/wikipedia/commons/thumb/0/06/Facebook.svg/200px-Facebook.svg.png',
                                        'href':'http://zh.wikipedia.org/wiki/Facebook'
                                }
                ]
        };
        //Facebook.streamPublish( ''  , attachment , null , null , 'Message:' , null , false  );
        FB.Connect.streamPublish( '' , attachment , null , null , 'Message:' , null , false  );
}
</script>
<a href="#" onclick="do_post();return false;">Click</a>


在此例中,指定了 comments_xid 數值,使得大家的討論都會很明確地紀錄在一起。


1 則留言:

  1. 我執行出來顯示FB未定義,
    請問
    是不是還需要加什麼程式碼??

    版主回覆:(08/01/2012 07:12:48 AM)


    留意有沒有 include 到 library 囉, 不過我很久沒玩了, 脫節很久, 你可以再問看看別人吧

    回覆刪除