2013-03-05 5 views
0

SDK php를 사용하여 사용자가 Facebook 계정을 사용하여 내 웹 사이트에 로그인하도록합니다. SDK 예제를 따르고 있습니다. 내가 얻을하려고 할 때이 사용자 ID 로그인이 0 반환사용자가 페이스 북 계정을 사용하여 내 사이트에 로그온하는 방법?

$id = $facebook->getUser(); 

당신이 문제가 무엇인지 말씀 해주십시오 수 있으며, 이것은 코드의 PHP SDK 작업

와 예제를 만드는 방법 예제의 :

<?php 
$config = FacebookConfig::getConfig(); 
$facebook = new Facebook($config); 
$user = $facebook->getUser(); 
Facebook::$CURL_OPTS[ CURLOPT_SSL_VERIFYPEER ] = false; 

if ($user) { 
    try { 
     $user_profile = $facebook->api('/me'); 
     $logoutUrl = $facebook->getLogoutUrl(); 
    } 
    catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
    } 
} else { 
    try { 

     $loginUrl = $facebook->getLoginUrl(array(
      "scope" => "email,user_education_history,user_work_history", 
      "redirect_uri" => "http://localhost:8888/www/index.php" 
     )); 
     $user = $facebook->getUser(); 
     $user_profile = $facebook->api('/me'); 
     $userProf = $facebook->api("/$user"); 
     echo $user; 
     echo $user_profile; 
    } 
    catch (FacebookApiException $e) { 
     $user = null; 
     echo "expetion in login"; 

    } 
} 
?> 
+0

실제로 문제는 무엇입니까? 아마도'redirect_uri'는 로컬 서버에서 실행되기 때문에 여기서는 작동하지 않을 것입니다. –

+0

문제는 내가 getUser() 함수가 0을 반환 할 때조차도 리디렉션이 잘 작동하는 것에 대해 걱정하지 않아도됩니다. – user1028

답변

0

당신은 $loginUrl로 사용자를 리디렉션해야합니다! 시도해보십시오.

<?php 
$config = FacebookConfig::getConfig(); 
$facebook = new Facebook($config); 
$user = $facebook->getUser(); 
Facebook::$CURL_OPTS[ CURLOPT_SSL_VERIFYPEER ] = false; 

if ($user) { 
    try { 
     $user_profile = $facebook->api('/me'); 
     var_dump($user_profile); 
     $logoutUrl = $facebook->getLogoutUrl(); 
    } 
    catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
    } 
} else { 
    try { 
     $loginUrl = $facebook->getLoginUrl(array(
      "scope" => "email,user_education_history,user_work_history", 
      "redirect_uri" => "http://localhost/facebook/index.php" 
     )); 
     header('Location: '.$loginUrl); 
    } 
    catch (FacebookApiException $e) { 
     $user = null; 
     echo "exception in login"; 
    } 
} 
+0

http : //localhost/facebook/index.php ?????? !!!!!!! !!! 이 페이지에 – user1028

+0

나는 그런 전화 번호부가 없다, 당신의 제안을 명확히하십시오 – user1028

+0

당신이 facebook 로그인 후에에 방향을 바꾼 URL에 그것을 바꾸십시오. – cari

관련 문제