getUser siempre devuelve 0

Tengo un problema con esta pieza de código, busco en todas partes pero no obtuve respuesta para este problema. Es mi código

 'XXXXXXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXX', )); $user_id = $facebook->getUser(); echo $user_id; ?> 

Este código cada vez que regresa 0 incluso cuando estoy conectado en Facebook con mi cuenta, ¿alguien me puede ayudar a solucionar este problema o explicar lo que está mal? Estoy usando facebook-php-sdk-v3.1.1-21


Quiero hacer algo como esto, en el formulario de registro quiero agregar Facebook como botón, cuando el usuario hace clic en este botón se convierte en fan de mi página de fans de Facebook, si no acierta como el script de botón debe verificar esto y error de salida, Antes de que el usuario pueda registrarse debe presionar el botón Me gusta, ¿alguien me puede dar algunos consejos o un guión para saber cómo hacer esto con PHP?

Tengo el mismo código que github y aún getuser devuelve 0. Aquí está mi código: aquí es donde getuser la aplicación, antes de hacerlo viral.

 top.location.href='" . $dialog_url . "'"); } else{ $facebook = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, 'cookie' => true, )); // Get User ID $user = $facebook->getUser(); echo "$user"; if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } //echo "$user"; } ?> 

editar: lo arreglé cambiando este código mío

 $post_login_url = "http://myhandyapps.com/tester2.php"; 

a

 $post_login_url = "http://apps.facebook.com/nspace_tester"; //got this to my app (CANVAS PAGE) 

Parece que $facebook->getUser(); no está funcionando. Verifique si se vinculó correctamente a facebook.php.

Además, es posible que desee ocultar su ID de aplicación y su secreto. 🙂

Hay un buen ejemplo de cómo usar el PHP SDK aquí:

https://github.com/facebook/php-sdk/tree/master/examples

  'xxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxxxx', )); // Get User ID $user = $facebook->getUser(); // We may or may not have this data based on whether the user is logged in. // // If we have a $user id here, it means we know the user is logged into // Facebook, but we don't know if the access token is valid. An access // token is invalid if the user logged out of Facebook. if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } // Login or logout url will be needed depending on current user state. if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } // This call will always work since we are fetching public data. $naitik = $facebook->api('/naitik'); ?>    php-sdk    

php-sdk

Logout
Login using OAuth 2.0 handled by the PHP SDK: Login with Facebook

PHP Session

You

Your User Object (/me)

You are not Connected.

Public profile of Naitik

Tuve el mismo problema. Después de mucho tiempo de intentar descubrir cuál es el problema, descubrí que necesita un token de acceso para obtener la identificación de usuario. Para obtener el token de acceso de la solicitud firmada, el usuario debe autorizar (para obtener permisos) su aplicación en primer lugar. Espero que esto sea de ayuda