0
我已經實現根據文檔,並能得到它來連接和顯示用戶ID下面的下面的代碼...與認證令牌Facebook連接API問題
<?php
define('FACEBOOK_APP_ID', '87939462878');
define('FACEBOOK_SECRET', '1ab6346bc51329831998985aba200935');
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
}
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET);
?>
<?php if ($cookie) { ?>
Your user ID is <?= $cookie['uid'] ?>
<?php } else { ?>
<fb:login-button show-faces="true" perms="email,user_birthday,user_location"></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>
<?php
$user = json_decode(file_get_contents(
'https://graph.facebook.com/me?access_token=' .
$cookie['access_token']))->id;
print_r($user);
?>
不過,如果我使用:
$user = json_decode(file_get_contents(
'https://graph.facebook.com/me?wrap_access_token=' .
$cookie['oauth_access_token']))->me; //or $cookie['access_token']))->me;
register_user($user->id, $user->email, $user->name, $user->username,
$user->birthday_date);
要獲取電子郵件地址,我不斷收到file_get_content錯誤。我也收到錯誤,說它不能識別register_user函數。我覺得我很接近!請儘可能幫忙,謝謝!
的register_user是他們的榜樣: http://developers.facebook.com/docs/guides/web#login 下的「賬戶註冊資料」 我會嘗試的PHP SDK,看看它的作品了更好, 謝謝! – 2010-08-04 21:19:13