php中如何實現facebook login

在國外的網站上,可以看到有很多的網站均有facebook登錄,那麼該如何實現用facebook進行登錄呢?上前面的博客中我們知道了js中如何獲取用戶的信息,可是,在php文件中如何獲取呢?

第一步,必須建立自己的應用程序.

登錄www.facebook.com註冊一個facebook帳號,其次,登錄www.facebook.com/developer.將自己註冊爲facebook開發者,創建一個應用程序,

會出現如上顯示框,其中Name表示,你網站的名稱,website with facebook login 表示訪問完facebook之後的跳轉轉頁面,其中,sandbox mode一定有要設爲禁用,否則無法獲得其中的用戶的信息,點擊保存會出現:,其中,appid是你網站的id,以後要用的,與app secret一樣.

第二步.下載sdk語言包,下載地址:https://github.com/facebook/php-sdk,在國內可能會訪問不了,可以掛代理,

第三步,在試圖文件上添加按鈕,按鈕有幾種

(1)facebook自帶的按鈕,代碼爲<fb:login-button show-faces="true" width="200" max-rows="1" scope="email"></fb:login-button>這代碼可以自動添加按鈕,按鈕的形式是

(2)自己添加一個鏈接形如<a href="<?php echo $facebook->getLoginUrl(array('scope' => 'email,publish_stream'));?>"><img src="includes/templates/bleubirtheme/images/facebook11.png"/></a>,其中的array('scope' => 'email,publish_stream')表示網站可以獲取用戶email的權限,其中的$facebook->getLoginUrl(array('scope' => 'email,publish_stream')的返回值是是個鏈接,

第四步,添加運行代碼

在同一個頁面上添加下面這段代碼:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
   FB.init({
      appId      : <?php echo $facebook->getAppId(); ?>, 
      status     : true, 
      //cookie     : true, 
      xfbml      : true,
      oauth      : true
    });
  };
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

在website with facebook login 表示訪問完facebook之後的跳轉的頁面中添加下面這段代碼,

require_once 'facebook.php';//facebook.php是剛剛從官網上下在文件,在src文件夾下.

$facebook = new Facebook(array(
  'appId'  => 剛剛註冊的網站的appid
  'secret' =>剛剛註冊的網站的appsecret
));
$user=$facebook->getUser();

$user_profile = $facebook->api("/me");//獲取用戶的信息

print_r($user_profile);

這樣就可以得到用戶的信息了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章