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);

这样就可以得到用户的信息了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值