如何确定Facebook用户是否与URL不同?

时间:2011-02-22 18:32:00

标签: jquery facebook facebook-graph-api facebook-fql facebook-like

我们有一个网络应用程序,我们需要跟踪用户“喜欢”网址(不是Facebook网页,外部网页),因为他们这样做会获得积分。

要做到这一点,我们正在使用JQuery和subscribe(edge.create)事件,它工作得很好。 http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

不幸的是,我们似乎无法找到一种方法来处理用户通过我们的网站“喜欢”URL,获得信用,然后转到他们的Facebook Wall并“Unlikes”它,基本上欺骗系统的情况。

我玩了这两个FQL查询。第一个应该返回URL的对象ID,第二个应该返回“喜欢”URL的user_id列表。但它们似乎不一致,并不总是为我测试的每个案例返回数据。

https://api.facebook.com/method/fql.query?query=select%20id%20from%20object_url%20where%20url=%22http://www.saschakimmel.com/2010/05/how-to-capture-clicks-on-the-facebook-like-button/%22

https://api.facebook.com/method/fql.query?query=SELECT%20user_id%20FROM%20like%20WHERE%20object_id=%22393958018726%22

我们宁愿不必让用户通过Facebook授权我们的应用,并允许我们访问他们的数据,以便使这项工作。

有什么想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:4)

在FQL的见解表中,您有指标“domain_fan_removes”,“page_fan_removes”,“application_like_removes”和“domain_like_removes” http://developers.facebook.com/docs/reference/fql/insights/   这可能有所帮助。

https://api.facebook.com/method/fql.query?query=SELECT%20metric,value%20FROM%20insights%20WHERE%20object_id=118584441503782%20AND%20metric= 'page_fan_removes' %20于是%20end_time = end_time_date( '2011-02-01')%20于是%20period =周期( '寿命')及=的access_token XXXXX

答案 1 :(得分:2)

使用JS Api,您可以使用FB.Event.subscribe

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
    }
);

如果用户与网址不同,您可以使用 edge.remove

FB.Event.subscribe('edge.remove',
    function(response) {
        alert('You unliked the URL: ' + response);
    }
);

https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/