为我的域名中的每个页面获取Facebook"赞"数

KOT*_*JMF 44 facebook-fql facebook-graph-api

我已将Facebook"赞"按钮集成到我网站的很多页面中.我想在列表中显示我网站上最"喜欢"的页面,但我无法弄清楚如何在一个请求中从Facebook获取该数据.到目前为止,我已经能够使用以下FQL查询获得单个页面的"Like"计数:

SELECT share_count, like_count, comment_count, total_count
FROM link_stat
WHERE url="http://www.mysite.com/some-page"
Run Code Online (Sandbox Code Playgroud)

但是,在我的网站上逐个获取每个页面的计数并不可行.除了有大量的页面,正在不断创造新的页面(新用户配置文件,新的博客,博客文章等),这将使越来越完整的统计我的网站复杂的过程,会涉及调用Facebook的API数千次.

有没有办法计算我的域中的每个页面在一个请求中被"喜欢"的次数?或者只是前10个最"喜欢"的页面,或类似的东西?

Joh*_*con 22

其实我会这样做:

$arrayOfPages = array('url1', 'url2', 'url3');

$listOfPages = implode(',', $arrayOfPages);

SELECT share_count, like_count, comment_count, total_count, url
FROM link_stat
WHERE url IN ($listOfPages)
Run Code Online (Sandbox Code Playgroud)

这将为您提供URL作为唯一标识符的所有数据,而不必违反Facebook针对虚假用户的策略.您可以$arrayOfPages从站点数据库的查询中动态创建变量.


Uri*_*Uri 7

继续Salil的回答,以下是sharedcount.com正在使用的一些主要API(完整列表:http://sharedcount.com/documentation.php )

您可以使用sharedcount的API获取常规摘要,或使用API​​自行编写内容:


小智 5

在一个查询中很难获得所有页面的FB喜欢,但是您可以获得网站每个页面的个人共享计数.除了共享计数,您还可以获取您的网站页面共享的个人社交网络的数字分解.在http://sharedcount.com/?url=http%3A%2F%2Fwww.parasitech.net%2F插入您的域名,并提供适当的建议.您可以获得Facebook,Twitter,Google +,Diggs,Linkedin,Google Buzz,Delicious和StumbleUpon的数字.


UIB*_*der 2

1)在 Facebook 上创建一个假用户,该用户只喜欢来自您域的页面或其他方式将您的网址保存在 Facebook 中,稍后可以通过 FQL 获取它们

2)查询:

SELECT share_count, like_count, comment_count, total_count
    FROM link_stat WHERE url in (SELECT object_id FROM like WHERE user_id="fake_user_id")
Run Code Online (Sandbox Code Playgroud)

3)不要忘记像计数一样每次减1;),排序并显示

  • 您可以自动发布链接(或注释等),请参阅 http://developers.facebook.com/docs/reference/rest/links.post 之后 SELECT share_count, like_count, comment_count, total_count FROM link_stat WHERE url in (SELECT url FROM link WHERE 所有者=“fake_user_id”) (2认同)