会话总是返回 null facebook php sdk
Posted
技术标签:
【中文标题】会话总是返回 null facebook php sdk【英文标题】:Session always returns null facebook php sdk 【发布时间】:2014-12-19 18:26:58 【问题描述】:您好,我正在尝试在用户登录 whit facebook 后从 facebook 获取数据。但我的会话变量始终为空。我目前正在使用 laravel 4 框架。您看到的代码被称为来自 facebook 登录的回调函数。
$code = Input::get('code');
if (strlen($code) == 0) return Redirect::to('/')->with('message', 'There was an error communicating with Facebook');
$facebook = new Facebook(Config::get('facebook'));
$uid = $facebook->getUser();
if ($uid == 0) return Redirect::to('/')->with('message', 'There was an error');
$me = $facebook->api('/me');
$profile = Profile::whereUid($uid)->first();
if (empty($profile))
$user = new User;
$user->name = $me['first_name'].' '.$me['last_name'];
$user->email = $me['email'];
$user->save();
$profile = new Profile();
$profile->uid = $uid;
return $uid;
$profile->username = $me['name'];
$profile = $user->profiles()->save($profile);
$profile->access_token = $facebook->getAccessToken();
$profile->save();
$user = $profile->user;
Auth::login($user);
FacebookSession::setDefaultApplication(
Config::get('facebook.appId'),
Config::get('facebook.secret')
);
$helper = new FacebookRedirectLoginHelper('http://projectweb.app:8000/');
$session = $helper->getSessionFromRedirect();
if(isset($session))
$request = new FacebookRequest($session,'GET','/me');
$response = $request->execute();
$graph = $response->getGraphObject(GraphUser::classname());
$name = $graph->getName();
return $name;
else
return 'no sesssion';
【问题讨论】:
【参考方案1】:您最好尝试使用 Laravel 特定的包,这里是一个,您还可以在其中了解有关安装和使用它的详细信息。
https://github.com/SammyK/LaravelFacebookSdk
【讨论】:
以上是关于会话总是返回 null facebook php sdk的主要内容,如果未能解决你的问题,请参考以下文章