Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Login com Facebook não retorna o email do usuario

$
0
0

Olá pessoal, estou tentando realizar um login via facebook, nunca tinha feito isto antes.
 
Estou encontrando problemas ao receber o email do usuário, tenho acesso a quase todos os dados menos o email.
 
segue abaixo o código:
 

<?php
session_start();
// added in v4.0.0
require_once 'autoload.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;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// init app with app id and secret
FacebookSession::setDefaultApplication( 'xxxxxxxxxx','xxxxxxxxxxx' );
// login helper with redirect_uri
    $helper = new FacebookRedirectLoginHelper('http://www.helpeventos.com/checklist/fbconfig.php' );
try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
  // When validation fails or other local issues
}
 
 
// see if we have a session
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
$fbimg = 'https://graph.facebook.com/'.$fbid.'/picture?width=75';
/* ---- Session Variables -----*/
   $_SESSION['FBID'] = $fbid;           
        $_SESSION['FULLNAME'] = $fbfullname;
   $_SESSION['EMAIL'] =  $femail;
$_SESSION['IMG'] = $fbimg;
$_SESSION['TUSER'] = '1';
    /* ---- header location after session ----*/
 
require_once 'functions.php';
checkuser($fbid,$fbfullname,$femail);
 
 header("Location: inicial.php?type_user=1");
} else {
  $loginUrl = $helper->getLoginUrl();
 header("Location: ".$loginUrl);
}
?>

só para observação não é problema de não autorização de usuários, pois estou testando com usário que liberam seus emails para serem exibidos.

desde já agradeço as ajudas aqui postadas.


Viewing all articles
Browse latest Browse all 14190