facebook connect- $ user_id = $ facebook-> getUser (); sempre retornando 0 [duplicado]
Esta pergunta já tem uma resposta aqui:
Por que o getUser do PHP PHP do Facebook sempre retorna 0? 26 respostasAntes de dizer algo, quero dizer que eu pesquisei muito e encontrei muitas páginas (incluindo muitas das perguntas) com variedades de soluções ... mas tentei cada uma delas uma por uma, mas infelizmente nenhuma delas trabalhou para mim
com facebook-php-sdk eu estou tentando acessar um usuário. nas primeiras ocasiões em que estava funcionando perfeitamente (de 2 a 3 dias atrás.). oje, quando comecei a trabalhar novamente com meu projeto, não está mais funcionand. sempre que estou tentando entrar em um usuário$facebook->getUser() is returning 0
as três dias atrás estava funcionand
i usei o código fornecido aqui :: developers.facebook.com e sim, eu fiz algumas alterações, são fornecidas com o código completo abaixo
MY CODE ::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 () está sempre retornando 0.
como meu processo de login funciona descrito abaixo:
após clicar em<a href="login_fb">Login using fb </a>
controle vai para o meulocalhost/dist/index.php
agora meu index.phpinclude
o código escrito acima, que está em um diretório diferentelocalhost/dist/include/0auth_provided_by_facebook.php
deste arquivo eu trato de tudo. no êxito e falha no login, o facebook retorna o valor aqu
Agora, aqui está a lista completa das configurações do meu aplicativo, que eu habilitei, desabilitei ou alterei
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
sses foram os detalhes.$user_id = $facebook-> getUser();
está sempre retornando0
em todas as condições. como posso resolver isso?
if(signed_request)
é sempre falso.