电子邮件没有出现在Facebook PHP SDK中


email is not coming in facebook php sdk

这是facebook php sdk中的登录系统,会发生什么情况,它要求基本权限,然后当用户通过他的Facebook帐户允许时,它会存储他的Facebook ID和电子邮件,然后通过会话在索引中显示此fbid和电子邮件,但是它无法正常工作,尽管fbid来了坚果电子邮件没有来,它显示为空白

 <?php
 session_start();
 require_once("autoload.php"); 
 require_once('Facebook/FacebookSession.php');
 require_once('Facebook/FacebookRedirectLoginHelper.php');
 require_once('Facebook/FacebookRequest.php');
 require_once('Facebook/FacebookResponse.php');
 require_once('Facebook/FacebookSDKException.php');
 require_once('Facebook/FacebookRequestException.php');
 require_once('Facebook/FacebookAuthorizationException.php');
 require_once('Facebook/GraphObject.php');
 require_once('Facebook/GraphUser.php');
 require_once('Facebook/GraphSessionInfo.php');
 require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
 require_once( 'Facebook/HttpClients/FacebookCurl.php' );
 require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
 require_once( 'Facebook/Entities/AccessToken.php' );
 require_once( 'Facebook/Entities/SignedRequest.php' );    
 use Facebook'FacebookSession; use Facebook'FacebookRedirectLoginHelper;
 use Facebook'FacebookRequest; use Facebook'FacebookResponse;
 use Facebook'FacebookSDKException; use Facebook'FacebookRequestException;
 use Facebook'FacebookAuthorizationException; use Facebook'GraphObject;
 // init app with app id and secret
 FacebookSession::setDefaultApplication(     '     332325566667346','30adsfsdf7sdf87df6s7df87sdf76dsfd16' );
 // login helper with redirect_uri
 $helper = new           FacebookRedirectLoginHelper('http://localhost/bb/fbconfig.php'     );
 try {
   $session = $helper->getSessionFromRedirect();
 } catch( FacebookRequestException $ex ) {
   // When Facebook returns an error
 } catch( Exception $ex ) {
 }
 // see if we have a session
 if ( isset( $session ) ) {
   $request = new FacebookRequest( $session, 'GET', '/me' );
   $response = $request->execute();
   $graphObject = $response->getGraphObject();
     $email = $graphObject->getProperty('email');          
   echo $email;
 } else {
   $loginUrl = $helper->getLoginUrl();
  header("Location: ".$loginUrl);
 }
 ?>

您在登录过程中没有要求电子邮件权限:

$loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));

来源: https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl

旁注:使用自动加载器或无数 require 语句,而不是两者;)(自动加载机将是明智的选择)。