0
我已經閱讀了這個線程的負載,但沒有答案或給出的答案不適用於我。
我有以下代碼要求授權我的Facebook應用程序,如果他們還沒有授權它。一旦獲得授權,它應該重定向到相同的頁面,但這次它不應該要求授權。
代碼詢問了完美的用戶授權...工程完全按照我想要的,但是當應用程序重新加載$用戶總是被設置爲0。
這裏是我的代碼:
//Get PHP SDK
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'cookie' => true
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
echo "logged in and authenticated";
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Ask for authorisation
if(!$user) {
$login_url = $facebook->getLoginUrl(
array(
'canvas' => 1,
'fbconnect' => 0,
'scope' => 'email,publish_stream',
'redirect_uri' => 'myurl - same as Site URL in app basic settings'
)
);
echo "<script> top.location.href='" . $login_url . "'</script>";
}
}
後,用戶已經授權該應用程序,它不再要求授權,所以我假設授權工作,但爲什麼$facebook->getUser()
返回0?
重定向後的URL有兩個查詢字符串參數 - 「狀態」和「代碼」。它們是否相關?我應該和他們一起做點什麼嗎?據我所知,我已經下載了最新的Facebook SDK,所以我不知道如何才能正常工作。
注:我通過AJAX調用上面的代碼。