$ facebook-> getSession (); no funciona. No tengo idea por qué?

 '130407366991766', 'secret' => '****', 'cookie' => true, )); // We may or may not have this data based on a $_GET or $_COOKIE based session. // // If we get a session here, it means we found a correctly signed session using // the Application Secret only Facebook and the Application know. We dont know // if it is still valid until we make an API call using the session. A session // can become invalid if it has already expired (should not be getting the // session back in this case) or if the user logged out of Facebook. $session = $facebook->getSession(); $me = null; // Session based API call. if ($session) { try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); } } // login or logout url will be needed depending on current user state. if ($me) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } // This call will always work since we are fetching public data. $naitik = $facebook->api('/naitik'); ?> 

 

php-sdk

<a href="https://stackoverflow.com/questions/3128085/facebook-getsession-not-working-no-idea-why/"> <a href="https://stackoverflow.com/questions/3128085/facebook-getsession-not-working-no-idea-why/">

Session


You

<img src="https://graph.facebook.com//picture">

Your User Object


You are not Connected.

Naitik

Por alguna razón … aunque el inicio de sesión parece funcionar perfectamente, mi script continuamente dice “No estás conectado”.

Solo puedo suponer que es un problema con la configuración de mi aplicación. ¿Alguien tiene alguna idea?

Demostración: http://gua.com/fb-api/

Tuve exactamente el mismo problema. Toda mi aplicación se rompió porque getSession () ya no funcionaba.

Descargué la última versión del PHP SDK y usé el ejemplo para inicializar la sesión del usuario.

Básicamente, la sesión se inicializa tan pronto como crea el objeto de Facebook. Entonces desde el código de ejemplo, cuando llamas.

 $facebook = new Facebook(array( 'appId' => '191149314281714', 'secret' => '73b67bf1c825fa47efae70a46c18906b', )); 

Ya tienes una sesión. Para obtener la identificación del usuario, simplemente llame:

 $uid = $facebook->getUser(); 

Si el resultado de esa llamada es 0 , entonces el usuario no ha iniciado sesión.

Facebook Change to OAuth2 and GetSession no funciona descarga new base_facebook.php y facebook.php de los desarrolladores PHP Sdk y reemplaza el procedimiento de inicio de sesión a:

 if( $userfb = $facebook->getUser() ){ try{ $UserProfile = $facebook->api('/me'); }catch (FacebookApiException $e) { $userfb = null; $UserProfile = null; } 

Es trabajo en mi sitio la nueva versión no puede mostrar un fb: botón de inicio de sesión con parámetro perms 🙁 y no puedo reparar

Facebook ha cambiado la forma en que llamas a la API y las viejas llamadas a la API REST están siendo depracadas. Esto significa que el método getSession () ya no funciona.

Debes darle la Clave Api al constructor. No es el ID de la aplicación.