2013年11月26日 星期二

[Facebook SDK] How to login ?

這陣子頻繁的使用到 Facebook SDK 做登入,所以想說將方法紀錄下來。
目前有使用到 PHP 和 Javascript 。

Preparing

在使用SDK前,你必須成為 Facebook developer ,然後申請一個屬於自己 service 要用的app。拿到該 app 的 id 和 secret key。

PHP SDK

其實非常簡單,首先下載 SDK
根據路徑做 require

require_once("facebook.php");

$config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_APP_SECRET'
);

$facebook = new Facebook($config);

其中最重要的就是 getLoginUrl() ,取得 login 的網址,以 dialog 的方式獲取認證,用法是:

// 取得 user_id ,沒認證過即回傳 0
$user_id = $facebook->getUser();
if ($user_id)
    $login_url = $facebook->getLoginUrl(array('scope'=> 'email, user_birthday'));
else
{
    $user = $facebook->api('/me');
    print_r ($user);
}

意思是沒有取得認證ID,那就訪問 $login_url。
還有上面的 scope 是你想要取得使用者的哪些權限,列表如下:https://developers.facebook.com/docs/reference/login/

Javascript SDK

這部份只要 include script 就好了!
首先,




接著是自己的 script

$(document).ready(function(){
    FB.init({
        appId: 'YOUR_APP_ID',
        status: true,
        cookie: true,
        xfbml: true,
        oauth: true
    });
    
    FB.login(function (response) {}, { scope: "publish_stream" });    
});

scope 就是請求授權類型,如同上面的連結!
如果想要確認授權狀況,只要:

FB.getLoginStatus(function (response) {
    if (response.status === 'connected')
    {
        //do something...
    }
    else
    {
        //do something...
    }

Reference

以上都是參考 Facebook API Web,若想更進一步了解,可以到那去查詢。

沒有留言:

張貼留言