2014-01-29 78 views
0

我使用Facebook的sdk讓用戶登錄到我的網站。這段代碼一直工作到今天,實際上它返回(從現在開始)一個錯誤被引用到最後一行。Facebook登錄 - 電子郵件不工作了

//FACEBOOK SDK CODE 
//-------------------------------------------------------------- 

require 'facebookSDK/src/facebook.php'; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => 'xxxxxxxxxxxxxxxxxxx', 
    'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
)); 


// Get User ID 
$user = $facebook->getUser(); 

// We may or may not have this data based on whether the user is logged in. 
// 
// If we have a $user id here, it means we know the user is logged into 
// Facebook, but we don't know if the access token is valid. An access 
// token is invalid if the user logged out of Facebook. 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

// Login or logout url will be needed depending on current user state. 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $statusUrl = $facebook->getLoginStatusUrl(); 
    $loginUrl = $facebook->getLoginUrl(); 
    header('location: '.$loginUrl); 
    exit; 
} 

// This call will always work since we are fetching public data. 
$naitik = $facebook->api('/naitik'); 


//---------------------------------------------------------------- 

$facebook_id=$user_profile['id']; 
$facebook_name=$user_profile['name']; 
$facebook_email=$user_profile['email']; 

未定義索引'email'。 我不知道該怎麼做!它從現在開始工作...... 我需要獲取用戶的電子郵件,'姓名'和'id'參數可以,但不能'電子郵件'。

我該如何解決?

+0

在最後3行之前嘗試** var_dump($ user_profile)**,你會得到什麼? – Reger

+0

我只得到以下參數,沒有郵件:[「name」] [「first_name」] [「last_name」] [「link」] [「quotes」] [「sports」] [「id」] [「name」 ] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「favorite_teams」] [ 「ID」] [ 「名稱」] [ 「性別」 ] [ 「時區」] [ 「區域設置」] [ 「語言」] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「驗證」] [ 「updated_time」] [ 「用戶名」 ]。身份證和姓名被用於運動,電影,因此有很多次 – LucaP

+0

這是不可能的,沒有得到用戶的電子郵件馬上。有關它的更多信息:http://stackoverflow.com/questions/3611682/facebook-graph-api-how-to-get-users-email(可能重複) – Reger

回答

0

Facebook已經更新了其API

更改此行 $ user_profile = $ facebook-> API( '/我場=電子郵件?');

相關問題