2014-11-25 5 views
4

페이스 북의 PHP SDK를 사용하여 로그인하려고했습니다.facebook PHP sdk에 로그인 할 수 없습니다.

다음은 내 코드 중 하나입니다.

<?php 
session_start(); 
require_once('lib/Facebook/FacebookSession.php'); 
require_once('lib/Facebook/FacebookRedirectLoginHelper.php'); 
require_once('lib/Facebook/FacebookRequest.php'); 
require_once('lib/Facebook/FacebookResponse.php'); 
require_once('lib/Facebook/FacebookSDKException.php'); 
require_once('lib/Facebook/FacebookRequestException.php'); 
require_once('lib/Facebook/FacebookAuthorizationException.php'); 
require_once('lib/Facebook/GraphObject.php'); 
require_once('lib/Facebook/GraphUser.php'); 
require_once('lib/Facebook/GraphSessionInfo.php'); 
require_once('lib/Facebook/HttpClients/FacebookHttpable.php'); 
require_once('lib/Facebook/HttpClients/FacebookCurl.php'); 
require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php'); 
require_once('lib/Facebook/Entities/AccessToken.php'); 
require_once('lib/Facebook/Entities/SignedRequest.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; 
use Facebook\HttpClients\FacebookHttpable; 
use Facebook\HttpClients\FacebookCurl; 
use Facebook\HttpClients\FacebookCurlHttpClient; 

// Initialize application by Application ID and Secret 
FacebookSession::setDefaultApplication('app_id','app_secret'); 

// Login Healper with reditect URI 
$helper = new FacebookRedirectLoginHelper('http://124.125.244.163/rtCamp/home.php'); 

try { 
    $session = $helper->getSessionFromRedirect(); 
} 
catch(FacebookRequestException $ex) { 
    // Exception 
} 
catch(Exception $ex) { 
    // When validation fails or other local issues 
} 

// Checking Session 
if(isset($session)) 
{ 
    // Request for user data 
    $request = new FacebookRequest($session, 'GET', '/me'); 
    $response = $request->execute(); 
    // Responce 
    $data = $response->getGraphObject(); 

    // Print data 
    echo print_r($data, 1); 
} 
else 
{ 
    // Login URL if session not found 
    echo '<a href="' . $helper->getLoginUrl() . '">Login</a>'; 
} 
?> 

이제 제가 직면하는 문제는 세션을 가져올 수있는 라인에 문제가 있다는 것입니다. 페이지가 Facebook에서 리디렉션 된 후 예 : $session = $helper->getSessionFromRedirect()

지금 난 내 코드는 줄 끝에서 작동이 중지 및 표시 하나의 오류가 아니라, 같은 로그인 코드 여전히 here

과이 사람의 전체 github에 일세를 구현했습니다. 나는 그들 중 누구도 일하는 수많은 해결책을 시도하지 못했습니다. 안정적인 페이스 북 PHP SDK 4.0.0을 다운로드했고 PHP 5.4로 홈 램프 서버를 운영하고 있습니다. 나는 붙어있다.

UPDATE : ERROR 내가 같은 문제가

PHP Fatal error: Class 'Facebook\HttpClients\FacebookStreamHttpClient' not found in /var/www/rtCamp/lib/Facebook/FacebookRequest.php on line 166, referer: http://124.125.244.163/rtCamp/home.php

+0

로그인 빨리 온다! –

답변

-1
<?php 
require_once('lib/Facebook/FacebookSession.php'); 
require_once('lib/Facebook/FacebookRedirectLoginHelper.php'); 
require_once('lib/Facebook/FacebookRequest.php'); 
require_once('lib/Facebook/FacebookResponse.php'); 
require_once('lib/Facebook/FacebookSDKException.php'); 
require_once('lib/Facebook/FacebookRequestException.php'); 
require_once('lib/Facebook/FacebookAuthorizationException.php'); 
require_once('lib/Facebook/GraphObject.php'); 
require_once('lib/Facebook/GraphUser.php'); 
require_once('lib/Facebook/GraphSessionInfo.php'); 
require_once('lib/Facebook/HttpClients/FacebookHttpable.php'); 
require_once('lib/Facebook/HttpClients/FacebookCurl.php'); 
require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php'); 
require_once('lib/Facebook/Entities/AccessToken.php'); 
require_once('lib/Facebook/Entities/SignedRequest.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; 
use Facebook\HttpClients\FacebookHttpable; 
use Facebook\HttpClients\FacebookCurl; 
use Facebook\HttpClients\FacebookCurlHttpClient; 


session_start(); 

$app_id=''; 
$app_secret=''; 
$redirect_url='http://124.125.244.163/rtCamp/home.php'; 
// Initialize application by Application ID and Secret 
FacebookSession::setDefaultApplication($app_id,$app_secret); 

// Login Healper with reditect URI 
$helper = new FacebookRedirectLoginHelper($redirect_url); 
$session = $helper->getSessionFromRedirect(); 


// Checking Session 
if(isset($session)) 
{ 
    // Request for user data 
    $request = new FacebookRequest($session, 'GET', '/me'); 
    $response = $request->execute(); 
    // Responce 
    $data = $response->getGraphObject(GraphUser::classname()); 
    $name=$graph->getName(); 
    echo "hi $name"; 
    // Print data 
    echo print_r($data, 1); 
} 
else 
{ 
    // Login URL if session not found 
    echo '<a href="' . $helper->getLoginUrl() . '">Login</a>'; 
} 

/* 
try { 
    $session = $helper->getSessionFromRedirect(); 
} 
catch(FacebookRequestException $ex) { 
    // Exception 
} 
catch(Exception $ex) { 
    // When validation fails or other local issues 
} 

// Checking Session 
if(isset($session)) 
{ 
    // Request for user data 
    $request = new FacebookRequest($session, 'GET', '/me'); 
    $response = $request->execute(); 
    // Responce 
    $data = $response->getGraphObject(); 

    // Print data 
    echo print_r($data, 1); 
} 
else 
{ 
    // Login URL if session not found 
    echo '<a href="' . $helper->getLoginUrl() . '">Login</a>'; 
} 
*/ 
?> 
+1

코드 외에 몇 가지 설명을 추가 하시겠습니까? –

관련 문제