Facebook页面上的动态iframe源代码

时间:2010-03-18 13:04:45

标签: iframe facebook

我正在尝试让我们网站的用户轻松地在我们的Facebook页面上部署托管在我们服务器上的小部件,作为iframe。

我们不想使用<fb:iframe />因为显然他们不被允许wont be supported in the future

关注the instructions here,这就是我们所做的:

  1. 我们用

    创建了一个应用程序
    1. 画布设置:

      • canvas page url:http://apps.facebook.com/{app-name}/
      • canvas url:http://{my-server}/fb/
      • 渲染方法:FBML
    2. 个人资料设置:

      • 标签名称:{tab_name}
      • 标签网址:http://apps.facebook.com/{app-name}/{app-name}?wid={unique_identifier}
  2. 创建了一个Facebook页面并将该应用程序添加到该页面。

  3. 和我们的网络服务器docroot中“fb”文件夹下的index.php如下:

    <?php
        echo '<a onClick="outside_location.setInnerFBML(link_1);console.log(link_1)" style="cursor: pointer;">Let\'s see the iframe here</a>';
        echo '<div id="outside_location"></div>';
        echo '<fb:js-string var="link_1">';
        $wid = $_GET['wid'];
        echo "<iframe height='500' allowTransparency='true' frameborder='0' scrolling='no' style='width:100%; border:none' src='http://<some_domain>/$wid' >";
        echo '</iframe>';
        echo '</fb:js-string>';
        echo '<script type="text/javascript" charset="utf-8">
        var outside_location = document.getElementById("outside_location");
        </script>';
    ?>
    
  4. 以上步骤有效。但我们希望更容易做到这一点。现在,我们的用户必须经历这个繁琐的创建Facebook应用程序并将其添加到Facebook页面的过程,只是为了将他们的小部件放在他们的Facebook页面上。有没有办法使用一些facebook API来自动执行此操作或减少所涉及的步骤数量?

    我们向用户提供的每个小部件都有唯一的ID和网址。因此,当用户在我们的网站上创建新的小部件时,我们希望能够告诉用户一些快速简单的步骤,以便能够将小部件添加到他们的Facebook页面或者尽可能完全自动化整个过程。

1 个答案:

答案 0 :(得分:0)

如果这是一个标签应用程序,那么您可以使用page_id。 Facebook应该将它传递给你。这看起来是一个老式FBML风格的应用程序。您可能会发现将应用程序转换为iFrame更容易,并使用传递的signed_request POST变量来标识页面。