Facebook-PHP SDK 3.0:一旦用户登录并提供访问权限,如何在数据库中存储会话?

时间:2011-06-14 09:09:18

标签: facebook facebook-graph-api facebook-php-sdk

我正在使用Facebook PHP SDK 3.0

我想知道如何将用户的会话存储在数据库中,以便一旦用户提供访问权限并登录,我就可以将访问令牌存储在数据库中,并在下次使用它时使用户不会不需要再次登录。现在我使用以下代码

 $facebook = new Facebook(array(
            'appId' => APP_ID,
            'secret' => SECRET,
            'cookie' => true
            ));
        $user = $facebook->getUser();

         if(!$user)
        {
             $loginUrl = $facebook->getLoginUrl();

             echo anchor($loginUrl,"login");
        }

        //print_r($_SESSION);
        $user = $facebook->getUser();

        if($user)
        {
            try 
            {
                // Proceed knowing you have a logged in user who's authenticated.
                $user_profile = $facebook->api('/me');
                //print_r($user_profile);
            } 
            catch (FacebookApiException $e) 
            {
                error_log($e);
                $user = null;
            }
        }

任何帮助表示感谢

1 个答案:

答案 0 :(得分:0)

Facebook访问密钥会在一段时间后过期。即使你确实存储它们并且它们还没有过期,如果用户没有登录它们将无法工作。如果你想在用户离线时访问用户的Facebook帐户,你需要'offline_access'permmission。 / p>