我的網站允許每個用戶在臉書上分享鏈接,說http://www.my-site.com。獲取Facebook分享/發佈活動共享對話框
我想統計每個用戶分享我的網址的次數,以及最後一次分享的日期。這本來是很容易給出一個會使用FB SDK(原諒的CoffeeScript):
link = "my-site.com"
FB.ui
method: "feed"
link: link
from: from
, (response) ->
unless response is null or response is undefined
$.ajax
dataType: "json"
data: response
url: some-url
success: (data, textStatus, jqXHR) ->
// Do stuff
我能有甚至讓自己得到更多的創建和使用Facebook的事件訂閱之一,如:
FB.Event.subscribe "message.send", message_send_callback
但是,據我所知,FB.ui()提供的對話框都不允許用戶選擇他想要發佈到哪個組/牆/朋友,這是強制性的,只要我關心。幸運的是,非SDK共享對話框確實可以做到這一點,但是在獲取後期事件和響應時會帶來更大的挑戰,因爲它迫使我在彈出窗口(var popup = window.open(...); popup.addEventListener...
)中添加一個onload事件偵聽器,並且然後添加另一個事件監聽器到事件後,這當然是具有挑戰性的,因爲彈出窗口打開另一個域名,Facebook的,我無法控制。
有沒有辦法做我想要完成的事情?我是否缺少一個FB.ui()對話框,使用戶可以選擇發佈的位置?如果沒有 - 是否有辦法獲取共享對話框的事件和響應?
不,我認爲有目前還沒有辦法通過FB.ui使用共享對話框,或者讓它給出任何反饋。你可以嘗試的是使用帶有'to'參數的feed對話框 - 如果你願意在它前面放置一個讓用戶選擇一個post目標的對話框。雖然這會限制你到他們的朋友和頁面,但你可能會建議 - 如果後者應該是用戶特定的,你將不得不要求允許閱讀他們的喜歡等。 – CBroe
@CBroe,這實際上是我最終做的 - 我使用'from'和'to'屬性以及其他無關的技術來獲取所有關聯的fb實體。如果您將其添加爲答案,我會將其標記爲正確的。謝謝! – CodeBender