【发布时间】:2011-04-08 01:47:43
【问题描述】:
我今天看到一个网站,上面写着:“分享/喜欢这个网站并获得 10% 的折扣”。我想知道:有什么方法可以跟踪某人何时分享/喜欢我的网站?我可以在我的应用中存储该用户的一些数据吗?
我知道这些事件有一些回调,也许我可以在用户点击按钮时触发一些 jQuery 魔术来通过 ajax 发送一些数据。
有什么想法吗?
谢谢!
【问题讨论】:
标签: facebook facebook-like facebook-sharer
我今天看到一个网站,上面写着:“分享/喜欢这个网站并获得 10% 的折扣”。我想知道:有什么方法可以跟踪某人何时分享/喜欢我的网站?我可以在我的应用中存储该用户的一些数据吗?
我知道这些事件有一些回调,也许我可以在用户点击按钮时触发一些 jQuery 魔术来通过 ajax 发送一些数据。
有什么想法吗?
谢谢!
【问题讨论】:
标签: facebook facebook-like facebook-sharer
Similar question was discussed here
FB.Event.subscribe('edge.create', function(href)
{
});
从上面的代码你只能得到href而不是任何用户详细信息。所以我厌倦了下面的代码
FB.Event.subscribe('edge.create', function (href) {
FB.login(function (response) {
if (response.session) {
//session object has uid & access token.
}
});
});
以上代码的问题是:由于FB.login会打开一个登录窗口,一些浏览器会阻止弹出窗口或警告用户。
我试过上面的代码。 LIKE 功能有效并发布到用户的墙上,但关于获取用户信息:
Firefox (4.0) - 没有警告,但它要求用户授权 APP 并访问基本信息。 IE 9 - 发出关于 POP UP 的警告消息。谷歌浏览器:阻止了登录弹出窗口。
似乎实现这一点的唯一方法是让用户先使用 Facebook Connect 登录网站,然后使用
FB.Event.subscribe('edge.create', function (href) {
// href is the URL of the object that got liked
var x;
FB.getLoginStatus(function (response) {
alert(response);
if (response.session) {
}
});
【讨论】:
【讨论】:
这样的事情应该可以满足您的需要:
<fb:like href="http://www.google.com"></fb:like>
<!-- Like button to whatever object you want^^ -->
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"
type="text/javascript" charset="utf-8"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"
type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
FB.init({
appId: 'APP_ID',
status: true,
cookie: true,
xfbml: true
});
FB.Event.subscribe('edge.create', function(href)
{
// href is the URL of the object that got liked
// do whatever magic ajax you want
});
</script>
【讨论】: