用户验证FB应用程序后,如何从特定域获得所有喜欢?

时间:2011-12-31 04:28:30

标签: facebook facebook-graph-api facebook-fql facebook-javascript-sdk

我有一个名为example.com的网站,其中有几个内部页面很受欢迎。

我创建了一个FB应用程序。

当用户验证FB应用时,我想获取所有用户喜欢的内容,例如:example.com/page1,example.com/page2等。

(单个用户在example.com的内部页面上最多可以有100多个喜欢)我基本上想要获取经过身份验证的用户在我的example.com网站上制作的所有喜欢的URL(以及关联的FB图形ID) 。

有办法做到这一点吗?

也许是通过facebook.api电话?或者可能是FQL查询?我对PHP或JS持开放态度。

请帮忙!感谢。

... fyi,我最初的想法是为每个用户提取所有他们的喜欢,解析每个用户以确保它来自example.com,然后将URL之类的内容存储到本地数据库中。当用户重新访问该网站时,我将查询我的数据库以查找与该用户关联的相关内容。这似乎不是最有效的,因为它需要存储我网站上的所有喜欢。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

如果您只是想在用户喜欢您网站上的网页时存储,为什么不使用Facebook JS SDK提供的edge.createedge.remove事件?例如:

FB.Event.subscribe('edge.create', function(targetUrl, elm) {
    // Make a request to server to save 'Like' information
});

FB.Event.subscribe('edge.remove', function(targetUrl, elm) {
    // Make a request to server to remove 'Like' information
});

答案 1 :(得分:0)

我在类似插件的属性中看到,ref属性可能是您可以用来确定类似来源的地方。当然,你的href属性需要在like按钮的所有位置都相同。

或者,您可以使用Facebook洞察注册您的网站并在那里进行跟踪。见https://www.facebook.com/insights/

答案 2 :(得分:0)

用户API参考位于:https://developers.facebook.com/docs/reference/api/user/

以下是如何通过JS API获得所有喜欢的内容(除非他们有多个页面,你会得到喜欢的一部分):

FB.api('/me/likes', function(response) {
   console.log(response);
});

您需要登录,并且需要user_likes权限。