会话总是返回 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的主要内容,如果未能解决你的问题,请参考以下文章

标签字段在使用 facebook api 和 php 时返回 NULL

Facebook Messenger Bot:会话变量

laravel 会话返回 null 尽管设置它

Facebook getUser() 返回 0 [重复]

使用 Facebook PHP SDK 4,但没有存储会话

PHP调用shell命令,怎么实现,我为啥shell_exec的返回值总是null呢