God is not home today

首頁 | 網路廣播電台 | 網誌聯播 | 商品推薦

Facebook 發佈到個人塗鴉牆的寫法即將改變(新寫法範例)

發佈到個人塗鴉牆的樣版設定教學(新版的範例)
今天總算把線上廣播電台(趁機打個廣告fbRadio寫好了,不過正當要去設定Template Bundle ID的時候才發現,Facebook Template Bundles API 即將於2009-12-20停用,在 Tools 頁面的原文如下:

Facebook will deprecate template bundles and their related API calls December 20, 2009.
Please start using stream attachments with stream.publish, FB.Connect.streamPublish, and Facebook.streamPublish instead.

所以原先的寫法也就要跟著改掉了,以下是簡單的一個範例:

由於我原本的Application都是以FBML模式製作,然後使用FBJS的方式來呼叫,所以這次也不例外,不過要把舊版的Facebook.showFeedDialog改為新版的Facebook.streamPublish
新舊主要的差異似乎是將原先的template內容將變成在程式頁面的Code裡,可能Facebook想減少向Facebook server要資料的頻率吧,這樣也好,不然每次一到下班時間,一個塗鴉牆提示都可以卡個1分鐘;以下開始就我的寫法做範例說明:

程式碼(放置在邀請送出後的轉向頁面,我自己是放在config檔裡,因為每個頁面都要include這個設定檔,所以不怕讀不到):

<script language="javascript" type="text/javascript">
function ShowFeed() {
    var attachment = {
    ‘name’:'臉書廣播電台’,
    ‘href’:'http://apps.facebook.com/fbradios/’,
    ‘description’:'上班太無聊? 上網太安靜? 想聽廣播學外語? 在Facebook 也可以來點音樂。這裡有全球各地的廣播電台可以線上收聽,聽新聞、聽音樂、聽福音樣樣都有。英語、德語、法語,這裡什麼語言都學的到。’,
    ‘caption’:'{*actor*} 正在fbRadio裡聽廣播,您也快來挑選自己喜歡的電台聽聽!!’,
    ‘media’:[
                   {
                   'type':'image',
                   'src':'http://www.blake.tw/fbapps/fbradios/images/75x75.png',
                   'href':'http://apps.facebook.com/fbradios/'
                   }
                   ]
     };
     Facebook.streamPublish(“, attachment, null, null, ‘想說些什麼嗎?’, null, false);
}
</script>

然後在結果頁面放置呼叫function ShowFeed()的語法(我的程式在邀請送出後會導向回首頁index.php,所以這段語法我就放置在index.php):

<script language="javascript" type="text/javascript">
 ShowFeed();
</script>

上面要加個判斷,判定在讀取頁面時是否要執行這個function,以免每次人客進首頁就自己執行一遍,所以在前面要加入:
if ($_POST["ids"] != null)

判斷是否有接收到邀請頁面傳回的target_id陣列,組合起來就成為:

<?
if ($_POST["ids"] != null){
?>
<script language="javascript" type="text/javascript">
 ShowFeed();
</script>
<?
}
?>

這樣基本上就OK了;不過要注意的是,最好使用session或是cookie的方式再多一層網頁重新整理的判斷,不然你的人客邀請完朋友回到首頁後,每按一次F5,就會重覆送出一次塗鴉牆,這點要注意。

Tags: , , , , , , , , ,

發佈日期: 2009年11月16日 星期一 | 文章分類:FaceBook | 訂閱這篇文章:RSS 2.0
Both comments and pings are currently closed.

Comments are closed.