KOT*_*JMF 44 facebook-fql facebook-graph-api
我已将Facebook"赞"按钮集成到我网站的很多页面中.我想在列表中显示我网站上最"喜欢"的页面,但我无法弄清楚如何在一个请求中从Facebook获取该数据.到目前为止,我已经能够使用以下FQL查询获得单个页面的"Like"计数:
Run Code Online (Sandbox Code Playgroud)SELECT share_count, like_count, comment_count, total_count FROM link_stat WHERE url="http://www.mysite.com/some-page"
但是,在我的网站上逐个获取每个页面的计数并不可行.除了有大量的页面,正在不断创造新的页面(新用户配置文件,新的博客,博客文章等),这将使越来越完整的统计我的网站复杂的过程,会涉及调用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从站点数据库的查询中动态创建变量.
继续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正文:[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"%% URL %%","source ":" 窗口小部件", "用户id": "@观看者", "的groupId": "@自"}, "jsonrpc": "2.0", "关键": "p", "apiVersion": "V1"}]
小智 5
在一个查询中很难获得所有页面的FB喜欢,但是您可以获得网站每个页面的个人共享计数.除了共享计数,您还可以获取您的网站页面共享的个人社交网络的数字分解.在http://sharedcount.com/?url=http%3A%2F%2Fwww.parasitech.net%2F插入您的域名,并提供适当的建议.您可以获得Facebook,Twitter,Google +,Diggs,Linkedin,Google Buzz,Delicious和StumbleUpon的数字.
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;),排序并显示
| 归档时间: |
|
| 查看次数: |
25868 次 |
| 最近记录: |