當然這裏有一個快速的方式去獲得你想要的信息:
<?PHP
define('FACEBOOK_APP_ID', 'yourappIDhere');
define('FACEBOOK_SECRET', 'yourFBsecretkeyhere');
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
if(isset($_COOKIE['fbs_' . $app_id])){
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
}
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if(isset($args['sig'])){
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
else
return $args;
}
else
return null;
}
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
</head>
<body>
<?php if ($cookie) { ?>
Your user ID is <?PHP echo $cookie['uid']; ?>
<?PHP
$user = json_decode(file_get_contents('https://graph.facebook.com/me/access_token=' . $cookie['access_token']))->data;
} else {
?>
<fb:login-button perms="email"></fb:login-button>
<?php } ?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '<?= FACEBOOK_APP_ID ?>', status: true,
cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
</body>
</html>
以後有什麼公平如上所述,這裏就是你需要得到認證設置爲自己的非常基本的代碼。
HTH :)
您可以更改參數的登錄按鈕,它不只是「電子郵件」,然後通過任何其他你可能希望搜索。
感謝您的評論:)。我可以理解,應該在瀏覽器上登錄用戶打開會話嗎? – rgeorgy 2010-10-29 14:14:59
我很確定你必須登錄到Facebook。至少我不知道另一種獲取訪問令牌的方式。 – 2010-10-29 14:21:33