2012-04-28 6 views
1

У меня есть код, как показано ниже. Почему $userId всегда 0? Когда я нажимаю кнопку «Вход», я получаю B.login() called when user is already connected.. Когда я проверяю разрешенные приложения в fb, это приложение добавляется. Похоже, я подключен, поэтому должен быть мой id вместо 0.Войти с помощью facebook api

<pre> 
define('YOUR_APP_ID', ###); 

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => ###, 
    'secret' => '###', 
)); 

$userId = $facebook->getUser(); 
echo $userId; 
?> 

<html> 
    <body> 
    <?php if ($userId) { 
     $userInfo = $facebook->api('/' + $userId); ?> 
     Welcome <?= $userInfo['name'] ?> 
    <?php } else { ?> 
    <div id="fb-root"></div> 
    <fb:login-button></fb:login-button> 
    <?php } ?> 
    <script> 
     window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : '<? echo('####'); ?>', 
      status  : true, 
      cookie  : true, 
      xfbml  : true, 
      oauth  : true, 
     }); 

     FB.Event.subscribe('auth.login', function(response) { 
      window.location.reload(); 
     }); 
     }; 

     (function(d){ 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
     }(document)); 
    </script> 
    </body> 
</html> 

ответ

1

У меня такая же проблема, когда я использовал FBJS SDK для подключения также я беспокоился о себе, как эта функциональность запуска и как эта проблема решена, но серьезно не успех ...

Я ссылаюсь на эту ссылку https://github.com/facebook/php-sdk, потому что ее прост в использовании для подключения facebook ....

Также я не хочу копировать свой код здесь, потому что он слишком длинный и относится к codeigniter

+0

будет полезен только фрагмент фрагмента основного кода алгоритма –

0

Вы работаете в IE? Если это так, вам нужно получить заголовок P3P на всю вашу страницу.

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

Если нет, дайте хорошие права пользователю при входе в приложение.