Facebook API 測試

大約兩年多前 有想寫 FB 的 Game
所以有稍微摸了一下 FB API
不過因為後來更新太快 新增的東西太多
跟不上 就沒跟了

最近又想把跟隨法人串一些會員功能
在 G+ 跟 FB 抉擇
最後還是決定先套 FB 好了

首先先 FB Javascript API

FB.login(function(response) {
alert(response);
},
{scope: ’email,user_likes’});

FB.getLoginStatus(function(response) {
if (response.status === ‘connected’) {
// the user is logged in and has authenticated your
// app, and response.authResponse supplies
// the user’s ID, a valid access token, a signed
// request, and the time the access token 
// and signed request each expire
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
alert(‘connected’);
} else if (response.status === ‘not_authorized’) {
alert(‘not_authorized’);
// the user is logged in to Facebook, 
// but has not authenticated your app
} else {
// the user isn’t logged in to Facebook.
alert(‘no login’);
}
});
FB.login 可以觸發一個 login 的對話視窗
FB.getLoginStatus 可以偵測登入狀態
基本上只要有這兩個 大概就可以拿到 user 的一些基本資料了

不過自己還是比較熟 php 的 server 端用法
但是 php 的話 還得把他包到 CodeIgniter 裡面…
網路上有包好的
但是 FB API 版本好像不是最新的
這有點困擾, 因為 FB API 換很快
就代表沒多久就要自己組合一次

這也是用 framework 寫程式的成本之一

#UPDATE

結果找了一下方案…
CodeIgniter 真的是很威的 framework
他的 自定 Library 功能 可以直接把寫好的 class 放進去就行了
而 FB 的 PHP Class, 似乎也是有個業界標準
直接把 FB 的 php 檔案放入 libraries 目錄即可

只要在 controller 裡面加入

$config = array(
‘appId’  => ‘your_appid’,
‘secret’ => ‘your_secret’,
);

$this->load->library(‘facebook’, $config);

這樣就行了
太酷了

如果 API 改版
只要重新把 facebook.php 蓋過舊的就行了