我正在构建一个在 Google 小工具中运行的 Facebook Connect 应用程序。作为一个小工具意味着应用程序在 iframe 中运行。在应用程序内部,有一个允许注册用户发表评论的表单。提交是使用 AJAX 进行的,但我使用普通表单得到了相同的结果。问题是我需要获取用户的 facebook id。在 Firefox 中,它工作正常,但在 Internet Explorer 7 上,我收到以下错误:
'A session key is required for calling this method'
我相信这是由于 IE 处理第三方 cookie 的方式,因为如果我转到 Internet 选项/隐私/高级,并选中覆盖自动 cookie 处理并接受所有 cookie,它工作正常。我无法通过 javascript 传递 Facebook id,因为任何人都可以篡改它。
编辑:如果我直接打开 iframe 的内容,应用程序工作正常。问题实际上是由于 IFRAME 和 IE 安全模型造成的。
我做错了什么?我该如何解决这个问题?