网站集成Facebook登录教程

如果想通过Facebook登录到第三方的网站,利用Facebook站外API可以实现,下面是实现步骤。

建立Facebook应用。

首先你必须有一个Facebook账号,进入我的应用,建立一个Facebook应用。

地址:http://www.facebook.com/developers/apps.php,步骤如下:

输入应用名称

验证输入

输入一些信息

输入你的应用站点URL(这个不能缺少,否则没法进行测试)。

应用建立成功,获得App ID, API Key, App Secret。

 

 

下载开发SDK包。

进入http://developers.facebook.com/docs/sdks/,下载SDK包。

不同开发语言选择对应的SDK包,我们下载PHP SDK包。

 

修改配置文件。

打开下载包,进入examples/example.php,修改配置:

$facebook = new Facebook(array(

‘appId’  => ”,//你的App ID

‘secret’ => ”,//你的App Secret

‘cookie’ => true,

));

蓝色部分对应修改成刚才获取的App ID,App Secret。

 

另外,如果你的服务器无法验证Facebook的SSL验证,请在src/facebook.php文件makeRequest方法curl_init()之后添加:

$opts[CURLOPT_SSL_VERIFYPEER] = false;

$opts[CURLOPT_SSL_VERIFYHOST] = 2;

 

测试实例。

访问服务器下example.php,如下图:

出现两种不同的登录方式,随便点击一个,会出现下图:

允许后,进入下图:

 

这样就实现了通过Facebook登录到自己的服务器上。

 

部分授权。

登录成功后,我们打印用户信息得到:

你会发现没有显示邮箱地址email,原因是没有权限,这里获取的值很多需要得到用户的授权才可以获得的,不同的值需要的授权不同,如下图:

 

 

下面是授权地址:

格式如下:

https://graph.facebook.com/oauth/authorize?clientid=yourappid&redirect_uri=yoururladdress&scope= permission

比如:

https://graph.facebook.com/oauth/authorize?client_id=161127207277254&redirect_uri=http://www.test.com&scope=email

 

输入授权地址,进入下图:

允许以后,再打印$me就会有email了,如下图:

6.API调用分析

下面是登录的代码:

//判断用户是否已经登录

$session = $facebook->getSession();

$me = null;

if ($session) {

try {

//获取用户UID

$uid = $facebook->getUser();

//获取用户资料

$me = $facebook->api(‘/me’);

} catch (FacebookApiException $e) {

error_log($e);

}

}

if ($me) {

//获取退出链接地址

$logoutUrl = $facebook->getLogoutUrl();

} else {

//获取登录链接地址

$loginUrl = $facebook->getLoginUrl();

}

 

API列表及参数见: http://developers.facebook.com/docs/reference/api/ 页面, 可以通过传入不同的参数来调用API。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值