1

以下のようなコードがあります。なぜ$userId常に0ですか?ログインボタンをクリックすると、 が表示されますB.login() called when user is already connected.。fbで許可アプリを確認すると、このアプリが追加されています。接続されているように見えるので、idではなくmy にする必要があり0ます。

<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>

4

2 に答える 2

1

接続にFBJS SDKを使用したときにも同じ問題が発生し、この機能がどのように実行され、この問題がどのように解決されたかについて心配していましたが、真剣に成功しませんでした...

このリンク https://github.com/facebook/php-sdkを参照してください。Facebook 接続で使いやすいからです....

また、コードが長すぎて codeigniter に属しているため、ここにコードをコピーしたくありません

于 2012-04-28T20:48:38.587 に答える
0

あなたはIEで働いていますか?その場合、すべてのページに P3P ヘッダーを取得する必要があります。

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

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

于 2012-04-30T02:55:50.710 に答える