Facebook“赞”按钮回调

55

我有兴趣实现Facebook的“赞”按钮,但我想知道是哪个用户点击了这个按钮,以便我可以从中获取一些有用的信息。根据我所了解的情况,Facebook并没有告诉我们谁点击了什么。有谁知道我如何跟踪哪个用户点击了特定产品的赞按钮吗?

更新:“赞”按钮由Facebook通过iFrame或xFBML呈现。这就是为什么很难跟踪谁点击了什么或嵌入一个onclick事件等的原因。


3
http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ - user762793
5个回答

64
<script>
  FB.Event.subscribe('edge.create', function(href, widget) {
    alert('You just liked the page!');
  });
</script>

15
只是提供一些参考:http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ - shem
这似乎不起作用。看起来我错过了一些对其他人来说很明显的东西。:( - jameshwart lopez
有人能指出我在这个问题上缺少了什么吗?https://dev59.com/QSP-s4cB2Jgan1znXnvN - jameshwart lopez

9
所以我为每个已登录用户渲染了一个唯一的“喜欢”按钮,URL为www.somewebsite.com/thisIsThePageIlike/facebookUID。
这样做不会破坏拥有“喜欢”按钮的目的吗?并且会破坏您在Facebook中的搜索排名吗?每个用户都将喜欢不同的URL,因此Facebook会认为您有大量页面,每个页面只有一个“喜欢”计数。
我也遇到了XFBML“喜欢”按钮的问题,其中edge.create事件没有触发。

6

好的,我可以告诉您我是如何实现它的。我想要获取的是在我的Facebook连接应用程序中单击“赞”按钮的Facebook用户的UID。我注意到当用户单击“赞”按钮时,Facebook会从按钮传递的URL获取信息,因此我为每个已登录用户呈现了一个唯一的“赞”按钮,并将URL设置为www.somewebsite.com/thisIsThePageIlike/facebookUID。当Web服务器收到此URL的请求时,它就像回调一样工作,如果这是用户首次点击“赞”(即..在数据库中不存在此“赞”的记录),则我会处理和记录UID。对我很有效。


0

这将类似于我为客户网站设计的那种样式,例如:

<iframe src="http://www.facebook.com/plugins/like.php?href=www.jesterkaraoke.com&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>

-1
window.fbAsyncInit = function () {

    FB.Event.subscribe('edge.create', function (response) {
        alert('Liked');
        });
    }
    );
    FB.Event.subscribe('edge.remove', function (response) {
        alert('DisLiked')
    });
};

(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id))
        return;
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

HTML:-

<div id="fb-root"></div><div class="fb-like" data-href="https://www.facebook.com/testpage" data-layout="standard" data-action="like" data-size="small" data-show-faces="true"></div>

在公开发布代码之前,至少确保您的代码在语法上是有效的,特别是在像SO这样的平台上,您应该帮助他人。 - andonovn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接