1

我有一个名为example.com的网站,有几个喜欢的内部页面。用户验证FB应用程序后,如何获得来自特定域的所有喜欢?

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

当用户认证FB应用程序,我想获取所有用户喜欢,如:example.com/page1,example.com/page2等

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

有没有办法做到这一点?

也许通过facebook.api调用?或者可能是一个FQL查询?我对PHP或JS开放。

请帮忙!谢谢。

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

回答

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 
}); 
+0

谢谢导航。这将起作用,除了'喜欢'的行为发生在我无法访问的不同域上。然而,我确实可以访问example.com,我计划获取其他域的所有'喜欢'。任何其他的想法? – Rees 2012-01-05 20:46:47

0

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

或者,您可以注册您的网站与Facebook的见解和追踪它。请参阅https://www.facebook.com/insights/

0

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

这里是你如何通过JS API让所有喜欢的(除非他们超过一页,他们你喜欢的一个子集):

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

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

相关问题