2016-04-22 50 views
-1

我无法获得Facebook用户的电子邮件。这是代码。我如何获得用户的电子邮件地址,请帮助。无法获取Facebook用户的电子邮件

if (isset($session)) { 
    // graph api request for user data 
    $request = new FacebookRequest($session, 'GET', '/me'); 
    $response = $request->execute(); 
    // get response 
    $graphObject = $response->getGraphObject(); 
     $fbid = $graphObject->getProperty('id');    // To Get Facebook ID 
     $fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name 
     $femail = $graphObject->getProperty('email'); // To Get Facebook email ID 
    /* ---- Session Variables -----*/ 
     $_SESSION['FBID'] = $fbid;   
     $_SESSION['FULLNAME'] = $fbfullname; 
     $_SESSION['email'] = $femail; 
     $args = array('scope' => 'email'); 
     $_SESSION["args"] = $args; 
    /* ---- header location after session ----*/ 
    header("Location: ../"); 
} else { 
    $loginUrl = $helper->getLoginUrl(); 
header("Location: ".$loginUrl); 
} 
?> 
+1

的Facebook是不会给你的用户的电子邮件地址。 –

+1

^不是没有权限,没有。 – Marcus

+0

@Marcus那我该如何设置权限......? –

回答

0

只需使用下面为您的API请求:

$request = new FacebookRequest($session, 'GET', '/me?fields=id,name,email'); 
    $response = $request->execute(); 

我希望这回答了你的问题!

+0

让我试试这个 –

+0

我做到了这一点它给我回电子邮件 $ loginUrl = $ helper-> getLoginUrl(array('req_perms'=> '电子邮件')); –

0

这件事让我和我得到的结果:)

$loginUrl = $helper->getLoginUrl(array('req_perms' => 'email')); 
相关问题