2012-01-16 117 views
0

我使用Google App Engine來託管我的Facebook應用程序,因爲它在配額方面最爲慷慨。我想使用Open Graph API來發布操作(烹飪披薩,烹飪雞肉,烹飪餡餅等)使用Facebook Open Graph API創建對象

由於Python Facebook SDK現在已被棄用,我想知道是否有人可以解釋限制我的應用程序的哪些功能可以訪問的方面。好像我可以使用JavaScript SDK來認證用戶,發佈動作等

這是我在我的應用程序界面的HTML客戶端meta標籤:

<meta property="fb:app_id"  content="250027595026486" /> 
<meta property="og:type"  content="socialdocking:chemical" /> 
<meta property="og:url"   content="http://beta2.socialdocking.appspot.com/" /> 
<meta property="og:title"  content="Sample Chemical" /> 
<meta property="og:description" content="Some Arbitrary String" /> 
<meta property="og:image"  content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" /> 

怎樣纔可以有「化學品樣品」和「化學品」的不同值不需要從服務器手動寫入?是否可以在發佈操作之前使用AJAX檢索值並更改「Sample Chemical」值?換句話說,我是否必須遵守開放圖形「對象」由單個網頁表示的設計,還是我可以使用單個網頁同時表示多個對象?

謝謝!

回答

4

你不能在Facebook上刮臉前用Javascript動態地設置元標籤。你必須從服務器端進行。然而,你想在這裏完成的並不需要你使用Facebook SDK。下面是一個關於如何做到這一點的PHP示例:Generating Facebook Open Graph meta tags dynamically我相信你可以將該代碼轉換爲Python。

0

當Facebook抓取工具擊中表示和識別Open Graph對象(比如化學物)的URI時,它將解析OG標籤並將該數據以URI作爲標識符進行存儲。

這樣,你將有一個URI http://example.com/chemicals/1渲染

... 
<meta property="og:title"  content="Potassium Nitrate" /> 
<meta property="og:description" content="totse.com was really cool" /> 
... 

http://example.com/chemicals/2渲染

... 
<meta property="og:title"  content="Whateverium Sulfate" /> 
<meta property="og:description" content="This makes things go boom." /> 
... 

爲了使這更清楚,這裏發生了什麼。這是一個動態頁面,它響應URI末尾的數字作爲查詢化學數據庫的參數:(ERB示例)。

... 
<meta property="og:title"  content="<%= @chemical.name %>" /> 
<meta property="og:description" content="<%= @chemical.description %>" /> 
...