我有兴趣实现Facebook的“赞”按钮,但我想知道是哪个用户点击了这个按钮,以便我可以从中获取一些有用的信息。根据我所了解的情况,Facebook并没有告诉我们谁点击了什么。有谁知道我如何跟踪哪个用户点击了特定产品的赞按钮吗?
更新:“赞”按钮由Facebook通过iFrame或xFBML呈现。这就是为什么很难跟踪谁点击了什么或嵌入一个onclick事件等的原因。
我有兴趣实现Facebook的“赞”按钮,但我想知道是哪个用户点击了这个按钮,以便我可以从中获取一些有用的信息。根据我所了解的情况,Facebook并没有告诉我们谁点击了什么。有谁知道我如何跟踪哪个用户点击了特定产品的赞按钮吗?
更新:“赞”按钮由Facebook通过iFrame或xFBML呈现。这就是为什么很难跟踪谁点击了什么或嵌入一个onclick事件等的原因。
<script>
FB.Event.subscribe('edge.create', function(href, widget) {
alert('You just liked the page!');
});
</script>
好的,我可以告诉您我是如何实现它的。我想要获取的是在我的Facebook连接应用程序中单击“赞”按钮的Facebook用户的UID。我注意到当用户单击“赞”按钮时,Facebook会从按钮传递的URL获取信息,因此我为每个已登录用户呈现了一个唯一的“赞”按钮,并将URL设置为www.somewebsite.com/thisIsThePageIlike/facebookUID。当Web服务器收到此URL的请求时,它就像回调一样工作,如果这是用户首次点击“赞”(即..在数据库中不存在此“赞”的记录),则我会处理和记录UID。对我很有效。
这将类似于我为客户网站设计的那种样式,例如:
<iframe src="http://www.facebook.com/plugins/like.php?href=www.jesterkaraoke.com&layout=standard&show_faces=false&width=450&action=like&colorscheme=light&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
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>