2014-02-12 79 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参数的提要对话框 - 如果你愿意在自己的对话框前放置一个允许用户选择一个后置目标的对话框。

虽然这会限制你自己的朋友和页面你也许能暗示 - 如果后者应该是用户特定的,你必须征得他的许可阅读他们的爱好等

相关问题