我想在同一网页上打开 Facebook的oauth 对话框。
实际上,我在我的WIN32(C ++)项目中嵌入了一个静态html页面,而我正在使用Facebook的 JS SDK 来执行 oauth 操作作为IE不能超过2K(约)的网址长度。
显示选项弹出式广告& 触摸工作正常,但选项页面& iframe 无效。
这是代码;
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '*************', // App ID
channelUrl : 'file:///D:/channel.htm', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.ui(
{
method: 'oauth',
name: 'Facebook Dialogs',
link: 'http://localhost',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
display: 'page'
},
function(response) {
if (response && response.post_id) {
//alert('Post was published.');
} else {
//alert('Post was not published.');
}
}
);
};
</script>
任何人都可以告诉我上面的代码中缺少的是在同一网页中打开oauth对话框。
谢谢, SKAR。
答案 0 :(得分:0)
我遇到了a similar problem in the past。
这是我得到的答案:
JS SDK旨在用于网站(根据服务定义,可通过http或https访问),我们不打算支持使用file:或任何其他协议。 这与一般的插件一致,其中http / https URI可用作标识符(开放图形等),但file:// URI不是。
您可以尝试在Web可访问文档中初始化SDK,包括使用iframe - 请注意,您必须添加逻辑以确保正确调整大小。
作为Facebook bug report的答案。