facebook页面上的动态iframe源

facebook页面上的动态iframe源,iframe,facebook,Iframe,Facebook,我试图让我们网站的用户能够轻松地将托管在服务器上的小部件部署到他们的facebook页面上,作为iframe 我们不想使用,因为它们显然是不允许的,而且是可以使用的 以下是我们所做的: 我们使用创建了一个应用程序 画布设置: 画布页面url:http://apps.facebook.com/{app name}/ 画布url:http://{my server}/fb/ 渲染方法:FBML 配置文件设置: 选项卡名称:{Tab\u Name} 选项卡Url:http://apps.face

我试图让我们网站的用户能够轻松地将托管在服务器上的小部件部署到他们的facebook页面上,作为iframe

我们不想使用
,因为它们显然是不允许的,而且是可以使用的

以下是我们所做的:

  • 我们使用创建了一个应用程序

  • 画布设置:

    • 画布页面url:
      http://apps.facebook.com/{app name}/
    • 画布url:
      http://{my server}/fb/
    • 渲染方法:FBML
  • 配置文件设置:

    • 选项卡名称:
      {Tab\u Name}
    • 选项卡Url:
      http://apps.facebook.com/{app name}/{app name}?wid={unique_identifier}
  • 创建facebook页面并将应用程序添加到该页面

  • 在我们的web服务器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>';
    ?>
    
    
    
  • 以上步骤有效。但我们想让它更容易做到这一点。现在,我们的用户必须经历创建facebook应用程序并将其添加到facebook页面的繁琐过程,仅仅是为了将他们的小部件放在他们的facebook页面上。有没有一种方法可以使用一些facebookapi来实现自动化,或者减少所涉及的步骤


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

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