2011年4月21日 星期四

透過 Facebook API,讓你的 Facebook Application 發佈動態消息

目的

是讓發佈動態消息可程式化,可依自己撰寫的應用邏輯,來決定何時發佈消息。

 

建議可以先閱讀

 

假設已經準備好了...

  1. 已經在 http://www.facebook.com/developers/ 建立了新的應用程式。 (在這例子上,我的應用程式叫 bmfriend_testapp)
  2. 準備了可執行 php 的 Web Server 環境。(在這例子上,我的 Web Server Domain Name 是 bmcool.no-ip.org)

 

 

開始進行

取得 fb_ca_chain_bundle.crt 以及 facebook.php

下載 facebook-php-sdk
image

 

下載最新版本(我抓到的是 facebook-php-sdk-v2.1.2-6-g04168d5.zip)
image

 

解壓縮至此
image
 

 

在src資料夾找到 fb_ca_chain_bundle.crt 以及 facebook.php
image

 

下載 demo 檔案與建置

下載 index.php ,在 Web Server 上建個資料夾(在這例子上,我的資料夾名稱是 facebook),將 fb_ca_chain_bundle.crtfacebook.php 以及 index.php 置入此資料夾
image

 

在 Facebook 上,編輯 Facebook Application 的設定

打開 Facebook Application Setting 頁面(我的 Application ID 是 204672162899646)

http://www.facebook.com/developers/apps.php?app_id=204672162899646

按下編輯設定(正常情況下,請保護好應用程式密鑰,不要讓自己以外的人知道)
image

 

點擊 Web Site
image

 

記下黃色螢光標示的部分,一個是你的 Application ID,一個是 Application Secret(正常情況下,請保護好應用程式密鑰,不要讓自己以外的人知道);而 Site URL 填入放置 fb_ca_chain_bundle.crtfacebook.php 以及 index.php 的位址並按下儲存
image

 

編輯 index.php 檔案,讓它與 Facebook Application 連結起來

打開 index.php,將底下紅框部分,改為應用程式的 Application ID 與 Application Secret
image

 

將底下紅框部分,改為應用程式的 Application ID 以及 Site URL
image 
image

 

開始使用建置好的 Facebook Application

來到 http://bmcool.no-ip.org/facebook/ 按下其中一個按鈕(我選了上面的)
image

 

登入
SNAGHTML3918ab4

 

按下同意
SNAGHTML3925294

 

跳轉回 http://bmcool.no-ip.org/facebook/ 此時已是登入狀態,此時輸入想發送的訊息以及按下送出
image

 

回到登入帳號的 facebook 主頁,便會發現發送成功!下方會標示是由申請的 Application 所發送的
image

 

 

還可以試試

  1. 將所有發送的訊息,依日期集中在同一個主題之下。(comments)
  2. 將訊息廣播給所有的朋友。(read_stream)
  3. 每天定時發送訊息給所有登入過 Facebook Application 的網友。

 

參考連結

2 則留言:

  1. 版主您好:

    我實作了一下你詳細的FB APP建立步驟。

    但是在 facebook.php中的這幾行指令出現問題:
    if (!function_exists('curl_init')) {
    throw new Exception('Facebook needs the CURL PHP extension.');
    }
    請問我為什麼會undefined function curl_init() 呢??

    回覆刪除
  2. 現在回可能有點晚了,不過還是作個回應,讓有同樣問題的人有個解決方向。

    其實 Exception 已經提到了原因
    「Facebook needs the CURL PHP extension」

    通常 php5 應該是預設有開啟 CURL PHP extension 的,如果是 WINDOWS 系統的話,可以打開 C:\WINDOWS\php.ini 這個檔案,檢查底下這行是否有被註解起來。

    extension=php_curl.dll

    將註解拿掉,應該就不會引發 Exception 了

    回覆刪除