1

Facebook JS SDK を使用しています。私は現在Facebookにログインしており、私のコードは次のとおりです。

$(document).ready(function() {

   FB.init({
      appId: "myappID",
       xfbml: true
   });

   FB.api('/me', function(response) {
      alert(response.name);
   });

});

私が受け取っているアラートは「未定義」と言っています。なんで ?Facebook 固有の app-id を取得する方法はありますか?

どうもありがとうございました

4

3 に答える 3

1

アプリをまだ承認していないためです。

FB.login最初にアプリにログインするために使用します。

于 2012-07-25T12:03:16.363 に答える
1

私が受け取っているアラートは「未定義」と言っています。なんで ?

おそらく、ユーザー アカウントがまだアプリに接続されていないことが原因です。

最初に FB.login を呼び出し、API 呼び出しをコールバック ハンドラーに入れます。

于 2012-07-25T11:57:00.153 に答える
1

jQuery の $(document).ready 内で FB JS SDK を初期化しているのはおかしいと思いました。

同期読み込みを行っていますか? Facebook の指示に従っている場合は、実際には非同期読み込みを行っていることになります。これは、ページの読み込みをブロックしないため、より優れています。非同期ロードでは<script>、$(document).ready イベントがトリガーされた後、all.js (Facebook の JS SDK) を含むタグがドキュメント DOM にアタッチされます。

つまり、まだ定義されていない js オブジェクト (FB) にアクセスしようとしています。Facebook のドキュメントで説明されているように、コードを window.fbAsyncInit に割り当てることをお勧めします。

window.fbAsyncInit = function() {
    FB.init({
        appId: 'AppID',
        cookie: true, // I think you'll need this cookie to make the API call
        xfbml: true
    });

    // Additional initialization code here
    FB.api('/me', function(response) {
        alert(response.name);
    });
};

幸運を!

于 2012-07-26T03:25:07.087 に答える