如何让用户使用他们的Facebook帐户登录我的网站?

问题描述:

我使用SDK php让用户使用他们的Facebook帐户登录我的网站。我正在关注SDK示例。当我试图让登录的用户ID返回0:如何让用户使用他们的Facebook帐户登录我的网站?

$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'不会在这里工作,因为你正在本地服务器上运行它。 – 2013-03-05 14:13:32

+0

问题是即使当我登录功能getUser()返回0,不用担心重定向它效果不错 – user1028 2013-03-05 14:18:53

您必须将用户重定向到$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 2013-03-05 16:02:27

+0

我没有这样的目录,请澄清您的建议 – user1028 2013-03-05 16:06:49

+0

将其更改为您希望用户在Facebook登录后重定向到的网址。 – cari 2015-01-02 22:13:11