2012-04-28 11 views
1

私は以下のようなコードを持っています。なぜ$userIdはいつも0ですか?ログインボタンをクリックするとB.login() called when user is already connected.と表示されます。 fbで許可されたアプリをチェックすると、このアプリが追加されます。接続されているように見えるので、0の代わりにidにする必要があります。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

メインコードalgoの単なるスニペットが便利です –

0

IEで作業していますか?もしそうなら、すべてのページにP3Pヘッダーを取得する必要があります。

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

そうでない場合は、アプリケーションにログインするときにユーザーに適切な権限を与えます。

関連する問題