Facebook JS SDK:在iframe中显示oAuth对话框

时间:2011-09-26 10:53:23

标签: facebook facebook-javascript-sdk facebook-oauth

我正在尝试在我的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是一个有效的显示参数。

提前致谢。

2 个答案:

答案 0 :(得分:1)

由于点击劫持的风险,

iframe不是oauth对话框的有效显示参数。另外我建议使用FB.login获得扩展权限:

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

希望这会有所帮助

答案 1 :(得分:0)

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