dongmu1390 2015-01-01 05:46 采纳率: 100%
浏览 69
已采纳

facebook登录sdk php 4.0登录时出错

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?

  • 写回答

1条回答 默认 最新

  • dongsi4815 2015-01-02 19:27
    关注

    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' );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探