私の index.php ファイルは、Facebook JavaScript SDK と FBJS ブリッジをロードします。
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="FBJSBridge.js"></script>
次に、Facebook SDK を初期化します。
<script type="text/javascript">
FB.init({
appId : '<?=$fbconfig['appid']?>',
session: <?php echo json_encode($session); ?>,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
そして、swfobject を使用して Flash ファイルを埋め込みます。
swfobject.embedSWF("http://www.myserver.org/Facebook/app/app.swf", "holderDiv", "740", "616");
サーバーでこのファイルを実行すると、ExternalInterface 呼び出しを介して間接的に Facebook の JavaScript SDK と通信したり、さまざまな Facebook UI ダイアログを起動したりできます。また、facebook-actionscript-apiを使用して、ActionScript から直接同じダイアログを起動することもできます。
ただし、このインデックス ファイルを Facebook キャンバス URL として使用し、Facebook iFrame に swf をロードすると、通信によってアプリケーションがクラッシュします。これをデバッグする方法はわかりませんが、クロスドメイン セキュリティに関係していると思われます。デバッグおよび/または解決策に関するアイデアは大歓迎です。