捕获Facebook分享/发布到FB活动

时间:2013-11-14 07:24:20

标签: javascript facebook facebook-graph-api

我正在开展一项宠物项目。我需要的功能之一如下:

  1. 用户点击我网页上的“分享到Facebook”按钮,如https://developers.facebook.com/docs/plugins/share-button/

  2. 然后在Facebook弹出窗口中,用户可以点击“发布/提交”或取消或关闭窗口。有没有办法知道用户确实发布了他/她的Facebook时间表?

  3. 请假设该用户不是我的朋友或从未喜欢过我的页面,但用户目前已在另一个浏览器标签中登录到Facebook。

  4. 我看到了FB事件,可以在https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/的回调中捕获这些事件,例如edge.create可以像按钮一样捕获。

  5. 同样有没有办法捕捉“分享/发布到fb”?

2 个答案:

答案 0 :(得分:3)

我不相信您可以使用分享按钮执行此操作。

但是,您可以使用JavaScript SDK启动相同的对话框。使用SDK,您将能够捕获您提到的回调函数。

以下是the documentation中给出的示例:

FB.ui(
  {
    method: 'feed',
    name: 'Facebook Dialogs',
    link: 'https://developers.facebook.com/docs/dialogs/',
    picture: 'http://fbrell.com/f8.jpg',
    caption: 'Reference Documentation',
    description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
  },
  function(response) {
    if (response && response.post_id) {
      alert('Post was published.');
    } else {
      alert('Post was not published.');
    }
  }
);

答案 1 :(得分:1)

Lix提供的答案不再适用。 UI方法已经改变,现在这将是Share Dialog(而不是Feed),如果“用户使用Facebook登录到您的应用程序并且已授予publish_actions”,则只返回post对象。 https://developers.facebook.com/docs/javascript/reference/FB.ui

据我所知,没有订阅帖子分享的事件。