facebook connect- $ user_id = $ facebook-> getUser (); siempre devolviendo 0 [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Por qué Facebook PHP SDK getUser siempre devuelve 0? 26 respuestasAntes de decir algo, quiero decir que GOOGLED mucho y se encontraron muchas páginas (incluidas muchas de las preguntas) con una variedad de soluciones ... pero he probado cada una de ellas, pero desafortunadamente ninguna de ellas trabajó para m
with facebook-php-sdk Estoy intentando iniciar sesión en un usuario. @en las primeras ocasiones funcionaba perfectamente bien (hace 2 o 3 días).. Hoy, cuando comencé a trabajar de nuevo con mi proyecto, ya no funciona. cada vez que intento iniciar sesión en un usuario$facebook->getUser() is returning 0
. Pero hace 3 días estaba funcionando.
i he usado el código dado aquí :: developers.facebook.com y sí, he realizado algunos cambios, los que se proporcionan con el código completo a continuación
MI CÓDIGO ::0auth_provided_by_facebook.php
include_once $_SERVER['DOCUMENT_ROOT'].'dist/facebook-php-sdk/src/facebook.php';
$config = array(
'appId' => '***********',
'secret' => '*********',
'allowSignedRequest' => false, // optional but should be set to false for non-canvas apps
'cookie' => true,
'oauth' => true
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
if($user_id) {
try {
$user_profile = $facebook->api('/me','GET');
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl(array(
scope'=>'email,user_location,user_photos,publish_actions,publish_stream,basic_info',
'redirect_uri' => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
));
echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl(array(
'scope' => 'email,user_location,user_photos,publish_actions,publish_stream,basic_info',
'redirect_uri' => 'http://localhost/dist/include/0auth_provided_by_facebook.php'
));
echo '<a href="' . $login_url .'"> PLEASE CLICK HERE </a>';
}
OUTPUT: getUser () siempre devuelve 0.
cómo funciona mi proceso de inicio de sesión que se describe a continuación:
después de hacer clic en<a href="login_fb">Login using fb </a>
control va a milocalhost/dist/index.php
ahora mi index.phpinclude
el código de wriiten anterior que está en un directorio diferentelocalhost/dist/include/0auth_provided_by_facebook.php
desde este archivo me ocupo de todo. en caso de éxito y falta de inicio de sesión, Facebook devuelve el valor aquí. y luego, en caso de inicio de sesión exitoso, el usuario vuelve a ser redireccionado a inic
Ahora está la lista completa de la configuración de mi aplicación que habilité, deshabilité o cambié
1. App Domains : blank(according to the answer)
2. Site URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?`
3. Native or desktop app? Disabled
4. Deauthorize Callback URL : `http://localhost/dist/include/0auth_provided_by_facebook.php?`
5. Social Discovery : enabled
6. Client OAuth Login : enabled
7. Embedded browser OAuth Login :enabled
8. App Secret Proof for Server API calls :enabled
9. Require 2-factor reauthorization : disabled
10. Valid OAuth redirect URIs :`http://localhost/dist/include/0auth_provided_by_facebook.php?` (according to the suggesion given in the answer)
11. Stream post URL security : enabled
esos fueron los detalles. @$user_id = $facebook-> getUser();
siempre regresa0
en todas las condiciones. ¿Cómo puedo resolverlo
if(signed_request)
siempre es falso.