繁体   English   中英

Facebook登录sdk php 4.0错误登录

[英]facebook login sdk php 4.0 Error login

这是我的代码:

<?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>";

}

即使我用fb登录,我的fb名称也不会出现。

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

我的名字不会出现,即使显示登录令牌也是如此...

有什么问题?

您确定已打开php 错误报告吗?

原因是当我使用我的应用程序详细信息执行代码时,出现了致命错误,提示它缺少一些类。

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

在该行use Facebook\\FacebookSession;之前,您需要在代码中添加以下必要的类use Facebook\\FacebookSession; 它应该可以正常工作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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