http://developers.facebook.com/docs/reference/javascript/FB.init/

ライブラリを初期化します。

一般的なオプションを指定した初期化は以下の通りです。

 <div id="fb-root"></div>
 <script src="http://connect.facebook.net/en_US/all.js"></script>
 <script>
   FB.init({
     appId  : 'YOUR APP ID',
     status : true, // check login status
     cookie : true, // enable cookies to allow the server to access the session
     xfbml  : true  // parse XFBML
   });
 </script>
このコードを設置する最適な場所は</body>タグの直前です。

Asynchronous Loading

fbAsyncInitフックを用いる事で、非同期読み込みでの利用が簡単にできます。このグローバル

関数が定義されている場合、ライブラリが読み込まれた段階で実行されます。
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId  : 'YOUR APP ID',
      status : true, // check login status
      cookie : true, // enable cookies to allow the server to access the session
      xfbml  : true  // parse XFBML
    });
  };

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

非同期版のコードを設置するベストな場所は<body>タグの直後です。ここに置くとページの読み込みと平行してFacebook初期化を行う事が可能となります。

注意:stream.publishやstream.shareのようなUIメソッドは、アプリケーション登録やFB.init実行無しに利用できます。appIdを指定する場合、全てのメソッドはこの関数の後に書かれる必要があります。

Custom Channel URL

これは既知の問題の一部を解決するためのオプション値です。まず1つ目として、自動再生するオーディオ/ビデオが含まれている場合、クロスドメインでのコミュニケーションの為にバックグラウンドで再度ページが読み込まれ、ユーザはオーディオを二重に聴いてしまう事があります。2つ目に、壊れたフレームのコードを含んでいる場合、空のページが開かれてしまうことがあります。最後に、この方法により、サーバサイドのログが二重になってしまうのを防ぐ事ができます。これらの状況では、オプション値であるchannelUrlパラメータを指定する事ができます。

 <div id="fb-root"></div>
 <script src="http://connect.facebook.net/en_US/all.js"></script>
 <script>
   FB.init({
     appId  : 'YOUR APP ID',
     channelUrl  : 'http://example.com/channel.html'  // custom channel
   });
 </script>
channel.htmlファイルの中身は以下の一行のみです。
 <script src="http://connect.facebook.net/en_US/all.js"></script>

channelUrlに含むURLは絶対パスで書かれていなくてはなりません。document.domainを変更した場合、channel.htmlファイルのdocument.domainも同様に変更するのは開発者の責任です。プロトコルも一致しなくてはいけない事を覚えておいてください。アプリケーションがhttpsで動作するなら、channelUrlのプロトコルもhttpsです。

scriptタグのsrcにも同じプロトコルを指定します。また、有効なExpiresヘッダを送り、channelファイルがブラウザにキャッシュされる事を保証します。キャッシュ期限は無期限にする事をお薦めします。スムーズなユーザ体験を提供するにはとても大切な事です。これ無しには、クロスドメインのコミュニケーションはとても遅くなってしまいます。

重要:channelUrlを指定しない場合、正確なカウントを得る為に以下をログから除外すべきです。

  1. "facebookexternalhit/*"に一致するUA 
  2. "fb_xd_bust" もしくは "fb_xd_fragment"を含むページビュー
  3. Track clicks from FB-hosted iframes separately from referrers (http://www.facebook.com/plugins/ http://www.facebook.com/plugins/like.php

Parameters

NameTypeDescription
optionsObject
Property Type Description Argument Default
appId String アプリケーションID Optional null
cookie Boolean クッキーサポートを可能にするならtrue Optional false
logging Boolean ロギング不可にするならfalse Optional true
session Object sessionオブジェクトを利用する Optional null
status Boolean ステータスをフェッチする場合true Optional true
xfbml Boolean XFBMLタグをパースする場合true Optional false
channelUrl String カスタムURL channelファイルのURLを指定。このファイル内には、JavaScript SDKのURLを指定したscript要素のみ置かれているべきです。
Optional null