简体   繁体   中英

facebook login sdk php 4.0 Error login

Here is my Code:

<?php

session_start();

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' );

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\GraphUser;   
use Facebook\GraphSessionInfo;

$id = 'xxxxx';

$secret = 'xxxxx';

FacebookSession::setDefaultApplication($id, $secret);

$helper = new FacebookRedirectLoginHelper('http://da-404.hol.es/FD/index.php');

try{

    $session = $helper->getSessionFromRedirect();

}catch(Exception $e){

}

if(isset($_SESSION['token'])){

    $session = new FacebookSession($_SESSION['token']);

    try{

        $session->Validate($id, $secret);

    }catch(FacebookAuthorizationException $e){

        $session = '';
    }

}
if(isset($session)){

    $_SESSION['token'] = $session->getToken();

    echo "Login Successful<br>";

    $request = new FacebookRequest($session, 'GET', '/me');

    $response = $request->execute();

    $graph = $response->getGraphObject(GraphUser::className());

    echo "Hi " . $graph->getName();
}

else{

echo "<a href = " . $helper->getLoginUrl() . ">Login With Facebook</a>";

}

Even i login in with fb, my fb name wont appear.

iamge: http://prntscr.com/5n6iud

My name wont appear, even the login token is show ...

What's the problem?

Are you sure you got your php error reporting turned on ?.

cause when i executed your code with my app details i get this fatal error saying its missing few classes.

Fatal error: Class 'Facebook\Entities\AccessToken' not found  in [...location]

you need to add the following neccessary classes to your code before the line use Facebook\\FacebookSession; and it should be working .

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' );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM