我的网站允许每个用户在脸书上分享链接,说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