在一般網頁使用 Facebook Connect 登入, 然後做 判斷、加入粉絲團 等動作, 設定部份請見: 使用 Facebook Connect 的設定、程式撰寫
在此篇主要是程式開發、撰寫的範例參考.
Facebook Connect 相關文件
- Facebook Developers | FB.Connect
- Facebook Connect - Facebook Developer Wiki
- XFBML 是外面用, 但東西比較少.
- FBML 是 Facebook 裡面用, 也可以在外面用, 只是比較麻煩, 要靠 FB.UI 來處理.
Facebook Connect(Login)、粉絲團判斷 的 範例程式
<?php
$appapikey = 'abc';
$appsecret = 'def';
$appid = '1000';
$facebook = new Facebook($appapikey, $appsecret);
try {
$user_id = $facebook->require_login(); // 若沒 login, 會自動導去 FB Login
} catch (Exception $e) {
$facebook->expire_session();
$user_id = $facebook->require_login();
}// 抓取 User 相關資料
$facebook = new Facebook($appapikey, $appsecret);
$user_data = $facebook->api_client->fql_query('SELECT name FROM user WHERE uid = ' . $user_id);// Facebook 判斷 User 是否為粉絲
$fql = "SELECT type, page_id FROM page_fan WHERE uid = " . $user_id . " and page_id = " . $appid;
$r = $facebook->api_client->fql_query($fql);
if (!is_array($r)) { // 不是粉絲
/* 秀 加入粉絲的頁面
<html>
<head>
<script src="http://static.ak.connect.facebook.com/connect.php/zh_TW" type="text/javascript"></script>
<script type="text/javascript">FB.init("<?php echo $appapikey; ?>");</script>
</head>
<body>
<fb:fan profile_id="<?php echo $appid; ?>" stream="0" connections="10" width="568"></fb:fan>
</body>
</html>
*/
}
?>
Facebook Connect (Login) 出現錯誤訊息
錯誤訊息
- Uncaught exception 'FacebookRestClientException' with message 'Session key invalid or no longer valid' in /dev/facebook/inc/facebookapi_php5_restlib.php:3381
解法
- 將此網域的 cookie 清空即可.
- 或 使用 $facebook->expire_session();
- 其它更多解法: Session key invalid or no longer valid
相關連結
- Facebook App 列表管理 - 常用, API Key, App 設定, Callback 設定都在此處
- Facebook App 的 API 測試工具
- 設定 Facebook app 使用 Connect 的頁面樣式 - Login 用: http://developers.facebook.com/tools.php?connect_wizard&init=1&app_id=$PAGE_ID
- User (FQL) - Facebook Developer Wiki
- 退出粉絲團連結: http://www.facebook.com/apps/application.php?id=$PAGE_ID
- Quick start on new Facebook PHP SDK (IFrame based)
您好,最近在製作Facebook的api,也會使用到FQL查詢用戶是否加入粉絲團,另外會查詢用戶是否有給過評價,我查過相關的文件,不過都沒有找到,請問有這樣的語法嗎? (比如可以用page_id,uid查到該user是否有給過這個page_id評價)
呃, 我沒有研究到這個耶. Orz..
你好,我想請問若已在FB的正常頁面架設粉絲團,之後想轉用developers APP的粉絲團。需要重架設嗎?
還是可以將原本的粉絲團轉到developer APP?拜託你回答了!謝謝你
基本上APP 可以放在多個不同的粉絲團裡面
1.進去你的應用程式, 點選右上角的編輯應用程式
2.左邊有個查看應用程式專頁
3.左邊有個加入我的粉絲專頁(你要加的粉絲團你要有權限),這樣就會顯示出你所有擁有的粉絲團去選擇加入
FB 正常的粉絲團, 就是個討論區.
要另外開發其他東西, 就另外開發, 兩者是獨立的, 所以不會相互影響. 🙂
Fatal error: Call to undefined method Facebook::require_login()
我找不到這問題的答案耶
我猜可能是 Facebook API 有換, 他 Login 機制有整個大改, 建議參考他線上最新得版本試試看.
若我要架設新的粉絲團,究竟是要在哪裡架設?原本的粉絲團與APP的粉絲團究竟有哪裡不同,看了許多資料還是不太清楚...可以拜託你再替我解答嗎?謝謝
粉絲團經營, 直接申請就可以了.
這篇是要開發 Facebook App for 粉絲團 才寫得.
您好,有個問題想請教您~
若程式要求須先加入粉絲才可參加活動,舊粉絲沒有問題,但新的(從未加入)的粉絲按"讚"後再進入,卻出現您仍不是粉絲不能參加活動...。
以前好像不會有這個問題,這是自Facebook改版後才出現的,請問這應該會是什麼問題呢?
不好意思!打擾您了!謝謝~
我之前有遇過得是, 加入位置不對.
因為有兩個地方可以按"讚" (好像是 粉絲團得頁面 和 哪個頁面我忘了. Orz)
其他的就沒有遇過了..
謝謝,那我再研究看看..
我自己有個粉絲專頁,我如何用程式(不管是C#.NET或是其他的語言)得知該粉絲團目前成員的資料,如FBID,FBName ... 等資訊呢
Mmm... 用 friends.get 之類的?
這頁找找看, 有沒有你想要得 API, 就知道囉~
http://developers.facebook.com/docs/reference/rest/friends.get/
網站上不去了ㄟ
Facebook帳號串接
http://wiki.developers.facebook.com/index.php/API#Login.2FAuth_Methods
呃, 這是很正常的, 搜尋看看相關 keyword 來找連結吧.
有空在來改連結. 🙂
請問版主會寫粉絲團的程式嗎?
就是類似如果想做測驗要先加入粉絲團(讚),或是如果想看我網站的內容,也必須先按讚或是分享
謝謝
是會寫, 但是現在不建議這樣子做了. 🙂
Tsung大感謝回覆,為何現在不建議這樣做?
我想把粉絲團人數變多,看到很多粉絲團都是用這種方式在經營,還是您有更好的建議?
謝謝
現在應該已經沒看到有網站這樣子做了吧? 🙂
不好意思 請問一下 這段程式碼現在還可以使用嗎? 有那些地方需要修改
我也不知道耶, 建議您自己試試看~ 🙂