Heim > Backend-Entwicklung > PHP-Tutorial > yii开发, Facebook api 互联登录,请问流程

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

WBOY
Freigeben: 2016-06-13 12:05:13
Original
899 Leute haben es durchsucht

yii开发, Facebook api 互联登录,请教流程
yii开发, Facebook api 互联登录,请教一下具体流程?
------解决方案--------------------
facebook session获取 sdk会做,不用自己写。

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

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


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

redirect_uri php可以这样写
<br /><?php<br />  $userid = $oFacebook->getUser();<br /><br />  $facebook_accesstoken = $facebook->getAccessToken();<br />  echo $facebook_accesstoken.'<br>';<br /><br />	try{<br />		$param = array(<br />			'method'		=>	'fql.query',<br />			'query'			=>	"SELECT 'uid,name,pic,pic_square,email,sex,birthday_date' FROM user WHERE uid='".$userid."'",<br />			'access_token'	=>	$facebook_accesstoken<br />		);<br />		$result = oFacebook->api($param);<br />	} catch(FacebookApiException $e){<br />		return array();<br />	}<br /><br />	if($result){<br />		$user_profile = array();<br />		foreach($result[0] as $key=>$val){<br />			$user_profile[$key] = $val;<br />		}<br />		return $user_profile;<br />	}else{<br />		return array();<br />	}		<br />	print_r($result);<br />?><br />
Nach dem Login kopieren


剩下的就是自己服务器那边的操作了。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage