为分享对话框获取 Facebook 的“分享/发布”事件
Posted
技术标签:
【中文标题】为分享对话框获取 Facebook 的“分享/发布”事件【英文标题】:Get Facebook 'share/post' event for share dialog 【发布时间】:2014-02-12 16:01:39 【问题描述】:我的网站允许每个用户在 facebook 上共享一个链接,例如 http://www.my-site.com。
我想统计每个用户分享我的网址的次数,以及最后一次分享的日期。如果有人会使用 FB SDK(请原谅咖啡脚本),这将非常容易:
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 共享对话框确实允许这样做,但在获取发布事件和响应时提出了更大的挑战,因为它迫使我向弹出窗口添加一个 onload 事件侦听器 (var popup = window.open(...); popup.addEventListener...
) ,然后在 post 事件中添加另一个事件侦听器,这当然具有挑战性,因为弹出窗口会打开另一个域,facebook 的,我无法控制。
有没有办法做我想要完成的事情?我是否缺少使用户能够选择发布位置的 FB.ui() 对话框?如果没有 - 有没有办法获取共享对话框的事件和响应?
【问题讨论】:
不,我认为目前还没有办法将“共享”对话框与 FB.ui 一起使用,或者让它提供任何反馈。您可以尝试使用带有to
参数的提要对话框——如果您愿意在它前面放置一个您自己的对话框,让用户选择一个发布目标。尽管这会将您限制在他们的朋友和您可能可以建议的页面上——如果后者应该是特定于用户的,您将必须请求获得许可才能阅读他们的喜欢等。
@CBroe,这实际上就是我最终要做的——我使用“from”和“to”属性以及其他不相关的技术来获取所有附属的 fb 实体。如果您将其添加为答案,我会将其标记为正确的答案。谢谢!
【参考方案1】:
不,我认为目前无法通过 FB.ui 使用“共享”对话框,或者让它提供任何反馈。
您可以尝试使用带有 to
参数的提要对话框 - 如果您愿意在其前面放置一个您自己的对话框,让用户选择发布目标。
虽然这会将您限制在他们的朋友和您可能可以推荐的页面上——如果后者应该是特定于用户的,您将必须请求获得许可才能阅读他们的喜欢等。
【讨论】:
以上是关于为分享对话框获取 Facebook 的“分享/发布”事件的主要内容,如果未能解决你的问题,请参考以下文章
Facebook iOS SDK 分享对话框 - 在朋友的墙上分享
如何在 Facebook 分享对话框中设置描述(你在想啥?)
如果 Facebook Feed 对话框已弃用,您如何在 Facebook 上分享帖子?