2011-05-09 81 views
0

我正在嘗試在我的網站中建立一個功能,在那裏我會獎勵「喜歡」網站上的某個頁面/帖子/項目的用戶。我知道使用FQL我可以查詢like表並找出誰喜歡它。此外,我可能需要訂閱edge.create event才能知道某人「喜歡」它。追蹤Facebook喜歡點擊

但是我的問題是這樣的。我沒有在我的網站上連接Facebook,所以我不知道我的網站用戶的Facebook UID。現在我怎麼比較點擊喜歡和我的本地網站用戶的Facebook用戶,因爲沒有什麼共同點?還是我需要通過FB連接進行登錄纔是必需的?任何解決方案(整潔或骯髒)都是受歡迎的。

回答

1

我想你鏈接到Like FQL表這一事實意味着你對整個事情有點困惑。

這裏有幾個要點:

  1. Facebook將共享的用戶ID,直到用戶授權您的應用程序
  2. ,你應該尋找到該表是link_stat;正如你所看到的,它裏面沒有「uid
  3. 由於你沒有實現Facebook登錄,但你仍然有自己的系統,我想你可以通過edge.create捕獲類似信息,通過ajax運行獎勵例程,既然你已經有本地網站用戶登錄,你可以檢查。
1

您應該確定您的網站的用戶,並通過使用一個回調的解決方案挽救他的喜好:

FB.Event.subscribe('edge.create', function(href, widget) { 
    // callback will be fired when some one clicked your like button 
    // your code to save here ... 
    alert('You liked ' + href, widget); 
}); 

查找aboeut事件訂閱這裏更多的信息:http://developers.facebook.com/docs/reference/api/event/

發現很多在這裏的樣本: http://fbrell.com/xfbml/fb:like