티스토리 뷰

페이스북에서 페이지 또는 APP 을 만들때,

사용자가 좋아요를 체크 했는지 여부 확인하는 소스
FQL 사용하는 예제.

// 일반적으로 tab page 에서는 아래와 같이 사용하면 된다
<?php
	$signed_request = $_REQUEST["signed_request"];
	list($encoded_sig, $payload) = explode('.', $signed_request, 2);

	$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

	// Like Check
	if ($data["page"]["liked"] == 1) {					// 좋아요 한 경우
		echo "<script>toggle_div('step2');</script>";
	} else {											// 좋아요 하지 않은 경우
		echo "<script>toggle_div('step1');</script>";
	}
?>

// 하지만 app page 에서는 아래와 같이 FQL 을 사용하여 체크해야 한다.
<?php	
	require_once $_SERVER["DOCUMENT_ROOT"].'/test/src/facebook.php';
	require_once $_SERVER["DOCUMENT_ROOT"].'/test/src/config.php';
	
	$facebook = new Facebook(array(
	  'appId'  => $appId,
	  'secret' => $secret,
	));
	
	$user_id = $facebook->getUser();
	
	if($user_id == 0 || $user_id == "")
	{
		$login_url = $facebook->getLoginUrl(array(
		'redirect_uri'         => $facebook_app_url,
		'scope'      => "email,publish_stream,user_likes"));
		
		echo "<script type="text/javascript">top.location.href = '$login_url';";
		exit();
	}

	$result = $facebook->api(array(
		"method"    => "fql.query",
		"query"     => "SELECT uid FROM page_fan WHERE uid=$user_id AND page_id=$page_id"
	));

	if($result[0][uid]){
		if($pageMoveCheck == ""){
			echo "<script>top.location.href='http://apps.facebook.com/앱페이지주소'</script>";
		}else{
			echo "<p style="display:none;">".$pageMoveCheck."</p>
		}
	}else{
		echo "<script>top.location.href='http://www.facebook.com/탭페이지주소'</script>";
	}
?>


check-user-like-facebook-page-php.zip

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함