除了利用Server side的方式使用Oauth認證並取得Facebook使用者的資訊之外,Facebook也有PHP版的SDK方便開發者使用(facebook-php-sdk source)

既然是SDK,使用方式比直接用Server side的方式方便許多,不過前置作業還是不可少(請參考這篇的事前準備)

使用範例:

require_once "src/facebook.php";
$facebook = new Facebook(array(
	'appId'  => 'YOUR_APP_ID',
	'secret' => 'YOUR_APP_SECRET',
));

//取得user id
$user = $facebook->getUser();

//判斷登入
if ($user) {
	try {
		//使用Facebook API
		$user_profile = $facebook->api('/me');
		print_r($user_profile);
		
	} catch (FacebookApiException $e) {
		error_log($e);
		$user = null;
	}
	//登出Url
	$logoutUrl = $facebook->getLogoutUrl();
} else {
	//登入Url
	$loginUrl = $facebook->getLoginUrl();
	header("location:" . $loginUrl);
	exit;
}

注意:$facebook -> api()的使用可參考Facebook API(需帶入token的部份),至於像取得使用者公開基本的資訊,還是必須透過SDK取得UID接著用Server side的方式來存取

Categories: PHP