2010-03-18 94 views
1

我想讓我們網站的用戶輕鬆地將我們服務器上託管的小部件作爲iframe部署在他們的Facebook頁面上。在Facebook頁面上的動態iframe源

我們不想使用<fb:iframe />因爲它們顯然是不允許的,wont be supported in the future

the instructions here,這就是我們所做的:

  1. 我們創建了

    1. 畫布設置的應用程序:

      • 畫布頁網址:http://apps.facebook.com/{app-name}/
      • 帆布網址:http://{my-server}/fb/
      • 渲染方法:FBML
    2. 配置文件設置:

      • 標籤名稱:{tab_name}
      • 標籤網址:http://apps.facebook.com/{app-name}/{app-name}?wid={unique_identifier}
  2. 創建一個Facebook頁面,添加了應用程序陽離子到頁面。

  3. 下我們的Web服務器的文檔根 「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頁面上。有沒有辦法使用一些Facebook API來自動化或減少涉及的步驟數量?

我們提供給用戶的每個小部件都有唯一的id和url。因此,當用戶在我們的網站上創建一個新的窗口小部件時,我們希望能夠告訴用戶一些快速簡單的步驟,以便能夠將窗口小部件添加到他們的Facebook頁面,或者如果可能的話,完全自動化整個過程。

回答

0

如果這是一個選項卡應用程序,那麼你可以使用page_id。 Facebook應該將它傳遞給你。這看起來是一箇舊式FBML樣式的應用程序。您可能會發現將應用轉換爲iFrame並使用傳遞的signed_request POST變量來識別頁面會更加輕鬆。