作者terrybob (罪云樵)
看板PHP
标题Re: [请益] facebook php如何取得即时使用者登入状 …
时间Wed Sep 21 17:55:43 2011
※ 引述《terrybob (罪云樵)》之铭言:
: facebook api使用 php sdk 3.1.1版本
: =========
: 问题:
: 若$user有值,我可以判定使用者有登入fb。
: 若$uid有值,我可以判定使用者有安装应用程式。
: 在登入、安装应用程式进入a页当下,若使用者开一个新分页(b页面)
: 在b页登出fb帐号後,回到a页重新整理,则$user、$uid还是有值!
: 这麽一来,我就不知道要怎麽判定使用者现在是否为「登入」的状态…
: 前一版2.x版吧…还有getSession函式判定,
: 但3.1.1版,居然没有getSession函式…
: 目前只能用FBjs里的getLoginStatus函式去判断想执行的事…
: 但没办法用php sdk的方式,去取得现在使用者的session吗?
: 以上,谢谢。@_@/
自问自答- -||| …
在使用print_r($GLOBALS)变数後,进行比对,
发现在facebook变数里,有[signedRequest:protected]的变数可以判断
也就是说…改用这样的方式
$SignedRequest =$facebook->getSignedRequest();//有登入fb,该变数就会有值!!
if($SignedRequest)
{
try{
$me =$facebook->api('/me');
$uid =$me['id'];
$need_login =0; //didn`t anything
}catch(FacebookApiException $e){
//error_log($e);
}
}
之後的程式,系统用$SignedRequest判断使用者有无登入即可!
只能说…fb还真有深度呀~~~~
--
朝叩朱门乞余餐
嗟来冷眼有德颜
归途踏尽金砖路
漫天残霞不用钱
吾乃…富贵乞丐-花爵百链生
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.75.186.7