2012-02-29 96 views
3

我正在開發一個Facebook應用程序。我在打開的圖中創建了一個自定義對象,下面列出的是我的幾個問題可以動態創建Facebook的開放圖形對象嗎?

  1. 是否每個對象實例都在特定對象類型下需要唯一的網頁?
  2. 我使用JS SDK發佈的Open Graph的行爲,沒有任何規則,即URL對象(在下面的代碼「myobjectrul」)我在js函數使用如:

FB.api( '/我/ MYAPP:myaction' +, '後', {刮:真正} '爲MyObject = myobjecturl &的access_token = myaccessToken?',

  function (response) { 
      var msg = 'Error occured'; 
      if (!response || response.error) { 
       if (response.error) { 
        msg += "\n\nType: " + response.error.type + "\n\nMessage: " + response.error.message; 
       } alert(msg); 
      } else { 
       alert('Post was successful! Action ID: ' + response.id); 
      } 
     }); 

應該是相同與OG:URL中的元標記在對象中?

  1. 我們可以傳遞任何查詢字符串以及可以在對象頁面中檢索的對象url嗎?

  2. 我們如何可以張貼與不同對象屬性相同的對象類型(例如,不同的圖像,不同的URL等)

任何幫助感激。

回答

8

答案是肯定的。一個對象的每個實例都映射到一個頁面,無論是html,C#,php ...什麼。所以,如果你是一個jQuery Ajax動態程序員,你將不得不改變你的架構或者沒有開放的圖形。

我的公司http://www.fuhshnizzle.com使用jquery,ajax,Amazon S3創建運行在播放器中的視頻播放列表。這是一個非常輕量級的架構。最近我們分配了資源將播放列表直接發佈到打開的圖中。我們的高級建築師最初並不知道這不是動態的。他們假定他們可以像C#類那樣定義對象,然後在發佈時動態實例化它們。

在我們的案例中,我們不得不每個播放列表發佈一個網頁,然後問題出現在CRUD中,我們感到非常驚愕。如果用戶更改播放列表,刪除它等,該怎麼辦。實質上,需要將html頁面轉換爲數據庫記錄的等同物。

從成本/收益的角度來看,這是粗糙的。如果我們每天創建100,000個播放列表,我們現在必須發佈並維護100,000個網頁?答案是肯定的。這是一個非常昂貴的提議,似乎忽略了網絡通過參數和腳本即時創建內容的能力。在經過許多激動人心的會議之後,創建靜態內容對我公司來說是一個難題。

我們的首席建築師猛然咕out着「尾巴搖擺的狗」。對於我認爲值得的是這是一個商業決策,必須根據您的商業模式做出決定。

發佈對象

Open Graph的對象是簡單的網頁與Open Graph的meta標籤。

Generating Facebook Open Graph meta tags dynamically