5

我正在尝试在我的 iframe 应用程序中显示 Facebook UI 对话框,以便获得我们目前没有的扩展权限。这很容易使用旧的 SDK 实现。但是,使用新库,我得到了一个模态显示的 Facebook iframe 对话框,但从未停止加载。将方法更改为“页面”意味着我会弹出一个浏览器窗口,上面只显示“发生错误”。我的代码如下:

var attachment = {
    display: 'iframe',
    method: 'oauth',
    scope: perms,
    access_token: '<?php echo $this->accessToken; ?>' // this is definitely valid access token         
};
FB.ui(attachment, function(response){
    pr(response);
});

我希望使用新的 SDK 可以做到这一点,文档当然声明这iframe是一个有效的显示参数。

提前致谢。

G

4

2 回答 2

1

iframe 不是 oauth 对话框的有效显示参数,因为存在点击劫持的风险。另外我建议使用 FB.login 来获得扩展权限:

https://developers.facebook.com/docs/reference/javascript/FB.login/

希望这可以帮助

于 2011-09-26T12:22:00.803 回答
0

这已经被打破了一段时间。(查看带有“FB.ui 权限”作为搜索词的 bugtracker。)一种解决方法是使用 FB.login 而不是 FB.ui。当然,这意味着获得弹出窗口而不是 iframe。

于 2011-09-26T11:49:00.683 回答