2010-12-01 70 views
6

如果用戶當前登錄到Facebook並喜歡當前頁面,我想顯示不同的消息。我的理解:facebook圖形API確定用戶是否喜歡網址

FB.Event.subscribe('edge.create', function(response) { 
    // you like this 
}); 

當用戶喜歡的網頁,其中會火,但是當你重新加載頁面,你如何確定他們已經像當前頁面?

謝謝!

回答

0

從圖形API,你可以通過自己的ID得到用戶的喜歡,如:

https://graph.facebook.com/ID/CONNECTION_TYPE

所以越來越喜歡你把你的訪問令牌:

https://graph.facebook.com/me/likes?access_token=2222222222222222

然後查找您的網頁,如果它是喜歡與否。

但是你總是可以嘗試FQL查詢,我沒有嘗試實際上喜歡。

我希望有所幫助。

+0

您需要**用戶的**訪問令牌。 – ceejayoz 2012-02-17 02:32:49

+0

是的,我提到,在第二個例子鏈接 – Rabea 2014-10-08 21:59:05

2

您將頁面描述爲「當前頁面」我知道它在iframe選項卡中。如果是這種情況,簽名的請求會提供給您以下信息:$decode_signed_request = array('page' => array('liked' => true/false))

否則,您可以使用GET參數fb_page_id提供一個畫布頁面,該參數應該包含參數fb_sig_added到0/1的服務器請求,具體取決於用戶是否是該頁面的粉絲。 (這可能需要在您的遷移設置中禁用OAuth 2.0)

如果您正在討論帶有開放式圖形url的類似社交插件,則無法輕易發現用戶是否是未安裝應用程序的粉絲。如果您確實有這個問題,您可以撥打/me/likes進行api調用,它將返回用戶所有喜歡的列表,並搜索您正在測試的對象的ID。

+0

這隻適用於應用程序設置爲Facebook頁面選項卡。並告訴當前用戶是否喜歡這個Facebook頁面。 – challet 2013-01-29 17:33:14

3

我很確定你不能做你想做的事情(在這種情況下)。

看看這個頁面:http://fbrell.com/fb.api/does-like

你會看到你所需要的用戶批准觀看喜歡權限。

讓某人看到用戶的「喜好」 - 即使是當前頁面,也存在巨大的安全風險。想想看,你可以很容易地欺騙當前頁面並假裝成任何頁面。

但是...

我建議你做什麼,只是設置cookie爲自己的利益(在JavaScript),當用戶「喜歡」你的頁面。假設你從這個頁面獲得了很大比例的'喜歡',那麼你可以安全地將cookie的存在與'喜歡'關聯起來。

我已經看到一些安全異常這樣做,但它似乎工作(至少在Chrome中)。

0

保存用戶ID或數據庫third_party_id當用戶喜歡的鏈接

獲取third_party_id

graph.facebook.com/me/?fields=third_party_id & =的access_token XXX

0
https://graph.facebook.com/{FB_USER_ID}?fields=likes.target_id(167584559969748)&access_token={VALID_ACCESS_TOKEN} 

顯示該用戶是否喜歡該Facebook粉絲頁面的數據。

https://graph.facebook.com/{FB_USER_ID}?fields=likes.fields(link) 

表示喜歡鏈接的列表,從那裏你可以得到你正在尋找的鏈接。

所有這些都需要'user_likes'和/或friend_likes權限。

相關問題