2011-09-05 136 views
3

我在我的FB粉絲頁面選項卡中添加一個類似按鈕到基於iFrame的頁面時遇到問題。我正在使用JavaScript SDK和Open Graph來指定我希望用戶「喜歡」的頁面(這是我的FB頁面中的當前頁面)。Facebook Like按鈕在基於iFrame的FB頁面應用程序 - 問題

該頁面是基於iFrame的,是FB中的應用程序,可通過我的FB頁面的FB頁面標籤進行訪問。問題是,Facebook將Like分配給我的FB頁面本身(如果您願意,我的FB頁面主頁)而不是頁面問題(我的測試頁面 - 它被設置爲應用程序並出現在我的FB頁面標籤下的名稱「og test」)。

我試過通過FB linter運行iFrame的目標頁面,它給出了一個奇怪的錯誤,說我已經提供了「其他」的開放圖類型(我沒有,我提供了「網站」在我的META標籤)見下文:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.airport-parking-quote.co.uk%2Ffacebook%2Fog-test.php

此外,從着眼於調試頁面,似乎Facebook是要麼忽略查詢字符串在我的‘OG:URL’的值,因此只能看到我的FB的虛榮URL,或者在能夠像基於iFrame的應用頁面上存在某種程度的塊。

任何人都可以對此有所瞭解嗎?我從這篇文章中認爲這將有可能實現什麼,我試圖做的:

http://www.insidefacebook.com/2010/09/09/like-buttons-app-content/

的iFrame的目標頁面的代碼是:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml"> 
    <head> 
    <title>Test Like</title> 
    <meta property="og:title" content="OG Test"/> 
    <meta property="og:type" content="website"/> 
    <meta property="og:url" content="https://www.facebook.com/EssentialTravel?sk=app_275969292428556"/> 
    <meta property="og:image" content=""/> 
    <meta property="og:site_name" content=""/> 
    <meta property="fb:admins" content="100002424161307"/> 
    <meta property="fb:app_id" content="275969292428556"/> 
    <meta property="og:description" content="OG test through canvas page"/> 
    </head> 
    <body> 
    <div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
    FB.init({ 
     appId : '275969292428556', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true, // parse XFBML 
     oauth : true // enable OAuth 2.0 
    }); 
    </script> 
    Test Page<br> 
    <script src="http://connect.facebook.net/en_US/all.js#appId=156081301143077&amp;xfbml=1"></script><fb:like href="https://www.facebook.com/EssentialTravel?sk=app_275969292428556" send="false" width="450" show_faces="false" action="recommend" font=""></fb:like> 
    </body> 
</html> 

任何人有什麼想法?

感謝,

Pjordanna

回答

2

可惜你不能建立一個類似按鈕的網頁上的實際標籤。

正如你已經發現的,試圖使用諸如https://www.facebook.com/EssentialTravel?sk=app_275969292428556這樣的URL來製作一個像按鈕一樣的按鈕,只是爲頁面而不是單個選項卡。

爲特定選項卡製作類似按鈕的最佳方法是僅使用位於服務器上的應用程序的URL,例如。 http://YOURDOMAIN.com/YourAppDirectory

+0

嗨喬恩,感謝您的信息。那就是我需要的地方。我想我可以檢查應用程序是否在我的應用程序加載時從我的應用程序請求過,如果沒有,請將用戶重定向到我的Facbook頁面中的應用程序。這樣,如果有人按照類似的鏈接到我的應用程序,他們最終會在FB頁面應用程序,而不僅僅是應用程序本身。 – pjordanna

+2

不知道是否有人看到這個,但pjordanna,我已經實現了相同的機制(如指向外部頁面,立即重定向到Facebook頁面內的應用程序),它很好地工作(外部頁面包含所有的og元標籤,讓FB創建一個不錯的新聞源帖子)。但是,我擔心這可能會違反FB的條款?畢竟用戶在幕後真正喜歡什麼並不是很清楚,我可以想象這樣的場景被用於欺詐目的。 – Wouter

+0

如果您確實將它設置爲指向您自己的服務器,那麼Facebook是否能區分頁面(使用包括查詢的完整路徑)?或者喜歡http://my.site.com?page=3和喜歡http://my.site.com?page=1一樣 –