我不想在我的CentOS 6 Linux服務器上升級PHP 5.3。
我已經在徵求意見的檢查使用新facebook-php-sdk-v4盡了autoload.php
:
#if (version_compare(PHP_VERSION, '5.4.0', '<')) {
#throw new Exception('The Facebook SDK v4 requires PHP version 5.4 or higher.');
#}
但隨後出現在它的許多地方array()
被[]
更換,所以我已經放棄了適應它現在只需要使用過時的(但仍然工作)facebook-php-sdk:它
這裏,全成用戶信息獲取:
<?php
require_once('facebook-php-sdk-3.2.3/src/facebook.php');
const TITLE = 'My amazing app';
const REDIRECT = 'https://example.com/myapp/';
#Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
#Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
$client = new Facebook(array(
'appId' => REPLACE_ME,
'secret' => REPLACE_ME,
));
if (isset($_REQUEST['logout'])) {
$client->destroySession();
header('Location: ' . REDIRECT);
exit(0);
}
if ($client->getUser()) {
try {
$me = $client->api('/me?fields=id,first_name,gender');
$body = '<PRE>' . print_r($me, TRUE) . '</PRE>';
} catch (FacebookApiException $ex) {
error_log($ex);
$body = '<PRE>' . htmlspecialchars($e->getMessage()) . '</PRE>';
}
} else {
$body = sprintf('<P><A HREF="%s">Login</A></P>', $client->getLoginUrl());
}
?>
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE><?= TITLE ?></TITLE>
</HEAD>
<BODY>
<?= $body ?>
<P><A HREF="<?= REDIRECT ?>?logout">Logout</A></P>
</BODY>
</HTML>
不要忘記 - 在Facebook console
- 獲取應用程序ID和祕密註冊
https://example.com/myapp/
爲畫布回調(也可選擇爲有效的OAuth2重定向URL)在同一地點
另一種選擇是使用Facebook SDK for JavaScript(這裏用jQuery):
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE><?= TITLE ?></TITLE>
<SCRIPT SRC="//ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></SCRIPT>
<SCRIPT>
$(document).ready(function() {
//$.ajaxSetup({ cache: true });
$.getScript('//connect.facebook.net/en_US/sdk.js', function() {
FB.init({
'appId' : '<?= APP_ID ?>',
'xfbml' : false,
'cookie' : true,
'status' : true,
'version': 'v2.6'
});
FB.login(function(response) {
if (response.authResponse) {
console.log('Fetching your information.... ');
FB.api('/me?fields=id,first_name,gender', function(response) {
console.log(response);
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
});
</SCRIPT>
</HEAD>
<BODY>
<?= $body ?>
<P><A HREF="<?= REDIRECT ?>?logout">Logout</A></P>
</BODY>
</HTML>
你可以st不適合使用API v2的舊版v3 PHP SDK - 您無法明確指定API版本。因此,您可以等待,直到v2將成爲默認設置 - 或者,爲了測試您的應用在4月底之前如何與v2協同工作,您可以在應用儀表板中啓用遷移,以使您的應用自動使用v2進行所有呼叫。 – CBroe 2015-03-31 19:56:30
感謝您的建議。我將在應用儀表板中啓用遷移,以瞭解它將如何工作。謝謝。 – 2015-04-01 03:45:49