我已将Facebook“赞”按钮集成到我网站的很多页面中。我想在列表中显示我网站上最“喜欢”的页面,但我无法弄清楚如何在一个请求中从Facebook获取该数据。到目前为止,我已经能够使用以下FQL查询获得单个页面的“赞”计数:
SELECT share_count, like_count, comment_count, total_count FROM link_stat WHERE url="http://www.mysite.com/some-page"
但是,在我的网站上逐个获取每个页面的计数并不可行。除了拥有大量页面之外,还不断创建新页面(新用户配置文件,新博客和博客文章等),这将使我的网站的完整统计数据变得复杂,并且需要数千次调用Facebook的API
有没有办法计算我的域中每个页面在一个请求中被“喜欢”的次数?或者只是前10个最“喜欢”的页面,或类似的东西?
答案 0 :(得分: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)
这将为您提供带有URL作为唯一标识符的所有数据,而无需违反Facebook针对虚假用户的策略。您可以从站点数据库的查询中动态创建$arrayOfPages
变量。
答案 1 :(得分:7)
继续Salil的回答,以下是sharedcount.com正在使用的一些主要API(完整列表:http://sharedcount.com/documentation.php)
您可以使用sharedcount的API获取一般摘要,或使用API自行编写内容:
通过需要API密钥的JSON-RPC POST调用检索Google +1 +1计数(要获取Google API密钥 - https://developers.google.com/+/api/oauth#apikey):
POST网址: https://clients6.google.com/rpc?key=%%API-KEY%%
POST正文: [{ “方法”: “pos.plusones.get”, “ID”: “P”, “PARAMS”:{ “NOLOG”:真, “ID”: “%% URL %%”, “源”:”插件”, “用户id”: “@观看者”, “的groupId”: “@自”}, “jsonrpc”: “2.0”, “关键”: “p”, “apiVersion”: “V1”}]
答案 2 :(得分:5)
在一个查询中很难获得所有页面的FB赞,但您可以获得网站每个页面的个人分享数。除了共享计数,您还可以获取您的网站页面共享的个人社交网络的数字分解。在http://sharedcount.com/?url=http%3A%2F%2Fwww.parasitech.net%2F插入您的域名,并提供适当的建议。你可以获得Facebook,Twitter,Google +,Diggs,Linkedin,Google Buzz,Delicious和StumbleUpon的数字。
答案 3 :(得分:2)
1)在fb上创建一个虚假用户,它只会喜欢你域中的网页或者其他一些方法来保存你在fb中的网址,以便以后可以通过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")
3)不要忘记每一个减1,如计数;),排序和显示
答案 4 :(得分:2)
显然FQL中没有'LIKE'。这是我的第一个建议..
虽然你可以使用“IN”运算符,如下所示:
SELECT share_count, like_count, comment_count, total_count
FROM link_stat
WHERE "http://www.mysite.com/" IN url
ORDER BY like_count
LIMIT 10;
答案 5 :(得分:1)
也许您可以在每次查看页面时查询每个页面的相似数量。这不会是准确的,但要记住,最常见的页面将被更频繁地查看它可能已经足够好了。
此外,您可以使用批处理来查询所有页面的喜欢数量,或至少每隔几小时查询最后创建的前N个。大多数情况下,您将无法获得正确的结果,但在大多数情况下,您的用户不需要正确的结果,但需要足够好的近似值。
答案 6 :(得分:0)
如果您只是需要每页的计数,超级社交媒体追踪器可以提供。
但对于大量网页来说这很慢。
答案 7 :(得分:-1)
经过一番调查后,我们可能最好将FQL与图形API一起使用:
结果
{
"data": [
{
"comment_count": 3,
"share_count": 91,
"like_count": 5
}
]
}