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 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题