Истекший код авторизации в PHP facebook SDK

Я использую новый 4. * facebook php SDK, и у меня проблема! 😉

В основном я пытаюсь найти способ сделать запросы на график api после первого перенаправления, когда пользователь будет отправлен обратно на мой сайт после входа в facebook . В этом случае я (в моем index.php ):

 $h = FacebookRedirectLoginHelper("blablabla"); $request = new FacebookRequest($h->getSessionFromRedirect(), 'GET', '/me'); $me = $request->execute()->getGraphObject(); 

и он отлично работает, и я могу распечатать дату о зарегистрированном пользователе.

Моя проблема в том, что если я перезагружу (f5) страницу index.php то получаю исключение:

 Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message 'This authorization code has expired.' in /home/nourdine/development/faisbuk/vendor/facebook/php-sdk-v4/src/Facebook/FacebookRequestException.php:87 

Поэтому мой вопрос: где я должен получить новый код авторизации, чтобы создавать новые вызовы графического api с аутентифицированным пользователем даже на страницах, которые не выполняются в результате процесса входа в facebook?

благодаря

Вам не нужен новый код авторизации. Вам нужно использовать один и тот же сеанс. $h->getSessionFromRedirect() возвращает сеанс. Этот сеанс вы также хотите использовать в следующий раз.

Конкретно говоря, этот фрагмент кода должен быть реализован:

  // see if we have a session in $_Session[] if( isset($_SESSION['token'])) { // We have a token, is it valid? $session = new FacebookSession($_SESSION['token']); try { $session->Validate($appid ,$secret); } catch( FacebookAuthorizationException $ex) { // Session is not valid any more, get a new one. $session =''; } } 

Полный рабочий пример доступен на этой странице: Facebook SDK 4.0.0 для PHP: рабочий образец для управления сеансами .