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'參數可以,但不能'電子郵件'。
我該如何解決?
在最後3行之前嘗試** var_dump($ user_profile)**,你會得到什麼? – Reger
我只得到以下參數,沒有郵件:[「name」] [「first_name」] [「last_name」] [「link」] [「quotes」] [「sports」] [「id」] [「name」 ] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「favorite_teams」] [ 「ID」] [ 「名稱」] [ 「性別」 ] [ 「時區」] [ 「區域設置」] [ 「語言」] [ 「ID」] [ 「名稱」] [ 「ID」] [ 「名稱」] [ 「驗證」] [ 「updated_time」] [ 「用戶名」 ]。身份證和姓名被用於運動,電影,因此有很多次 – LucaP
這是不可能的,沒有得到用戶的電子郵件馬上。有關它的更多信息:http://stackoverflow.com/questions/3611682/facebook-graph-api-how-to-get-users-email(可能重複) – Reger