你好,我正在嘗試使用file_get_contents註銷。Facebook登出
這裏是我的代碼
<?php echo file_get_contents("http://www.facebook.com/logout.php"); ?>
我不能夠註銷來自Facebook。
有人能幫助
感謝
你好,我正在嘗試使用file_get_contents註銷。Facebook登出
這裏是我的代碼
<?php echo file_get_contents("http://www.facebook.com/logout.php"); ?>
我不能夠註銷來自Facebook。
有人能幫助
感謝
註銷涉及比做一個簡單的HTTP請求多得多。首先,你需要你試圖註銷的用戶的會話ID。當您執行此代碼時,您的服務器實際上是執行請求的服務器,而不是使用您系統的用戶(並登錄到Facebook)。所以Facebook不知道你想要註銷的是誰。
如果你真的想這樣做,你應該設置一個Curl會話,並傳遞會話ID。但更容易的是,爲用戶提供一個鏈接。如果他們轉到URL,他們的會話ID將自動傳遞。
我有會話ID。如何設置捲曲會話請告訴 –
以下是一個教程:http://www.smooka.com/blog/2009/07/24/maintaining-php-session-when-using-curl/ – Rijk
以下添加到您的網站頁面的最開始
session_start();
if($_GET['logoutfrmfb']=="logout")
{
unset($_SESSION['fb_{your app id}_code']);
unset($_SESSION['fb_{your app id}_access_token']);
unset($_SESSION['fb_{your app id}_user_id']);
}
查找和編輯的src/base_facebook.php以下行(可能是線506-515)
public function getLogoutUrl($params=array()) {
return $this->getUrl(
'www',
'logout.php',
array_merge(array(
'next' => $this->getCurrentUrl().'?logoutfrmfb=logout',
'access_token' => $this->getAccessToken(),
), $params)
);
}
作品我!
我認爲這是一個有效的問題。 Rajat,Facebook會阻止您的請求,因爲user_agent未設置。在你的'file_get_contents'行之前,用'ini_set('user_agent','Mozilla/5.0(compatible; Googlebot/2.1; + http://www.google.com/bot.html)'這樣的一行設置用戶代理) ;'當然,你需要查詢字符串中的憑證,像Rijk建議 –