欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yii开发, Facebook api 互联登录,请问流程

程序员文章站 2024-04-04 08:50:29
...
yii开发, Facebook api 互联登录,请教流程
yii开发, Facebook api 互联登录,请教一下具体流程?
------解决方案--------------------
facebook session获取 sdk会做,不用自己写。

sdk应该包含以下三个文件
base_facebook.php
facebook.php
fb_ca_chain_bundle.crt


include "facebook.php";
$oFacebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
'cookie' => true,
'fileUpload' => true
));

$user = $oFacebook->getUser();
if($user){
try{
$user_profile = $oFacebook->api('/'.$user); //判斷是否獲取到用戶信息
} catch (FacebookApiException $e){
$user = null;
}
if($user){
return $user; //返回用戶id
}
}else{
$loginUrl = $oFacebook->getLoginUrl(array(
'scope' => 'xxxx', // 这里填权限,要获取的东西 例如 publish_stream,user_photos,email,offline_access,user_birthday,user_notes
'redirect_uri' => 'xxx' // 这里填在facebook login后要回跳的地址
));
return $loginUrl;
}
?>


得到$loginUrl后,跳转到这个地址
当facebook 登入成功后,会返回到 redirect_uri这个地址,并把参数带回

redirect_uri php可以这样写

$userid = $oFacebook->getUser();

$facebook_accesstoken = $facebook->getAccessToken();
echo $facebook_accesstoken.'
';

try{
$param = array(
'method' => 'fql.query',
'query' => "SELECT 'uid,name,pic,pic_square,email,sex,birthday_date' FROM user WHERE uid='".$userid."'",
'access_token' => $facebook_accesstoken
);
$result = oFacebook->api($param);
} catch(FacebookApiException $e){
return array();
}

if($result){
$user_profile = array();
foreach($result[0] as $key=>$val){
$user_profile[$key] = $val;
}
return $user_profile;
}else{
return array();
}
print_r($result);
?>


剩下的就是自己服务器那边的操作了。
yii开发, Facebook api 互联登录,请问流程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频