0

我想在同一网页中打开Facebook 的 oauth对话框。

实际上,我在我的 WIN32 (C++) 项目中嵌入了一个静态 html 页面,并且我正在使用 Facebooks 的JS SDK来执行oauth操作,因为 IE 无法承受超过 2K(大约)的 url 长度。

显示选项弹出窗口触摸工作正常,但选项页面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 对话框。

谢谢,斯卡尔。

4

1 回答 1

0

我过去也遇到过类似的问题

这是我得到的答案:

JS SDK 旨在用于网站(通过 http 或 https 提供和访问的每个定义),我们不打算支持使用 file: 或任何其他协议。这与一般的插件一致,其中 http/https URI 可用作标识符(开放图等),但 file:// URI 不是。

您可以尝试在 Web 可访问文档中初始化 SDK,包括使用 iframe - 请注意,您必须添加逻辑以确保正确调整大小。

作为对Facebook 错误报告的回答。

于 2013-06-16T09:35:39.223 回答