2014-02-12 106 views
0

我的網站允許每個用戶在臉書上分享鏈接,說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()對話框,使用戶可以選擇發佈的位置?如果沒有 - 是否有辦法獲取共享對話框的事件和響應?

+0

不,我認爲有目前還沒有辦法通過FB.ui使用共享對話框,或者讓它給出任何反饋。你可以嘗試的是使用帶有'to'參數的feed對話框 - 如果你願意在它前面放置一個讓用戶選擇一個post目標的對話框。雖然這會限制你到他們的朋友和頁面,但你可能會建議 - 如果後者應該是用戶特定的,你將不得不要求允許閱讀他們的喜歡等。 – CBroe

+0

@CBroe,這實際上是我最終做的 - 我使用'from'和'to'屬性以及其他無關的技術來獲取所有關聯的fb實體。如果您將其添加爲答案,我會將其標記爲正確的。謝謝! – CodeBender

回答

0

不,我認爲現在沒有辦法通過FB.ui使用共享對話框,或者讓它給出任何反饋。

你可以嘗試的是使用帶有to參數的提要對話框 - 如果你願意在自己的對話框前放置一個允許用戶選擇一個後置目標的對話框。

雖然這會限制你自己的朋友和頁面你也許能暗示 - 如果後者應該是用戶特定的,你必須徵得他的許可閱讀他們的愛好等

相關問題