2011-07-05 132 views
0

我目前正在從事一個需要像網頁一樣的粉絲的項目,才能在網站上看到多個內容。檢查登錄用戶是否喜歡使用JS的Facebook API上的頁面?

該網頁不是Facebook上的應用程序,它在Facebook之外。我們不會使用PHP或後端代碼,我們只會使用FrontEnd

我已完成用戶登錄檢查以檢查用戶是否已登錄。

我現在堅持檢查用戶是否是我們頁面的粉絲。我嘗試使用功能page.IsFan,但不知何故它需要有一個UID。

由於相同的原因,FQL方法不可行。

另一個問題是我們頁面的appID。我嘗試谷歌如何獲得頁面的appID,但搜索與無用的內容混合在一起。

是否有無論如何獲取UID或檢查用戶是否喜歡我們的頁面沒有UID?

非常感謝您

+0

您是否需要在每次加載頁面時獲取該信息,或者只是捕獲「like」事件,因爲它發生? – Niklas

+0

該頁面只加載一次,因此我不需要擔心但有一段時間有返回用戶,所以我需要檢查用戶是否已經喜歡網頁或不知何故... – DucDigital

回答

0

你將不得不使用後端代碼從你的Facebook的iFrame風扇頁面,因爲您必須檢查在HTTP POST請求中發送給您的頁面的signed_request變量,因爲此變量將無法通過JavaScript獲得,並且訂閱到javascript中的edge.create將無法工作,因爲頁面沒有滿當用戶點擊類似按鈕時刷新,並且該事件不會觸發。

如果您強制用戶使用您的應用程序進行身份驗證(如果您檢查了signed_request變量,則不需要考慮),可以使用FQL查詢或圖形API請求,而不是指定其用戶標識,只需使用「我」即可。例如:select field from table where uid = me()

0

除非你提供你將無法知道用戶之前是否喜歡該頁面的UID。但是,您可以使用FB.Event.subscribe找出當用戶不喜歡的項目,通過訂閱edge.create事件:

FB.Event.subscribe('edge.create', function(response) { 
    alert("liked the item"); 
}); 

例如:http://jsfiddle.net/niklasvh/rmrE4/

+0

有無論如何獲得UID? – DucDigital

+0

@DucDigital如果他們已經登錄,那麼是的。在這種情況下,您可以使用'getLoginStatus'獲得UID:htt p://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/ – Niklas

+0

我在腳本中使用了這個函數,但大多數他們沒有response.session對象。當我做一個控制檯登錄響應。它給了我一個NotConnected(那些登錄但沒有連接到你的應用程序的人)。這是一個粉絲專頁,那我怎麼才能得到關於這方面的信息呢?如何才能授權從粉絲頁面獲取用戶? – DucDigital

相關問題