2011-04-08 58 views
0

我今天看到一个网站说:“分享/喜欢这个网站,并得到10%的折扣”。我想知道:有什么方法可以跟踪何时有人分享/喜欢我的网站?我可以在应用程序中存储该用户的一些数据吗?Facebook Like通知?

我知道这些事件有一些回调,也许我可以触发一些jQuery魔术发送一些数据通过ajax当用户点击按钮。

任何想法?

谢谢!

回答

1

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的警告信息。谷歌浏览器:阻止登录弹出。
看来实现这一目标的唯一途径是让使用

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) { 

       } 
      }); 
+0

@fedeisas,然后再使用Facebook Connect的用户登录网站获取用户信息,您可以在这里发布的是提供“网站的网址像/分享此网站,并获得10%的折扣“。 – MNVR 2011-04-08 15:36:26

+0

感谢!前面提到的网站是[这一个](http://wasabis.com.ar/)。他们只有一个Facebook sharer.php网址,通过_blank加载。没有JS技巧,没有魔法。也许他们正在使用一些Insight查询来获得结果?或者他们只是在虚张声势?谢谢! – fedeisas 2011-04-09 01:11:18

0

像这样的东西应该做你需要的东西:

<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>