Google ガジェット内で動作する Facebook Connect アプリケーションを構築しています。ガジェットであるということは、アプリケーションが iframe 内で実行されることを意味します。アプリケーション内には、登録ユーザーがコメントを投稿できるフォームがあります。提出はAJAXで行っていますが、通常のフォームでも同じ結果が得られます。問題は、ユーザーの Facebook ID を取得する必要があることです。Firefox では正常に動作しますが、Internet Explorer 7 では次のエラーが発生します。
'A session key is required for calling this method'
これは IE がサードパーティの Cookie を処理する方法によるものだと思います。なぜなら、[インターネット オプション] / [プライバシー] / [詳細設定] に移動し、[自動 Cookie 処理をオーバーライドしてすべての Cookie を受け入れる] にチェックを入れると、正常に動作するからです。誰でも改ざんできるため、JavaScript から Facebook ID を渡すことができません。
編集: iframe のコンテンツを直接開くと、アプリは正常に動作します。この問題は、実際には IFRAME と IE のセキュリティ モデルが原因です。
私は何か間違ったことをしていますか?この問題を回避するにはどうすればよいですか?