请求在v2.3 API中获取Facebook页面的总数

时间:2015-04-17 14:35:47

标签: facebook facebook-graph-api

之前我使用的是FQL,但是从v2.1开始不推荐使用,我使用图形边缘移动到v2.3"喜欢"。

这是我的网址:

https://graph.facebook.com/v2.3/<page_id>/likes?access_token=<access_token>&summary=true

这会返回带有分页信息的详细JSON - 但是它会省略 total_count ,当&#34; summary = true&#34;按照Facebook docs中的说明使用 - 您将看到我的意思。

3 个答案:

答案 0 :(得分:31)

现在(2016年4月)任何绊倒这个答案的人都会感到沮丧,因为接受的答案在v2.6中不再适用

?fields = likes / likes 现在返回相同的结果 - &gt;页面喜欢的页面。

要获得粉丝数量,您现在需要使用 fields = fan_count

https://graph.facebook.com/pepsius/?fields=fan_count&access_token=<access_token>

如上所示,您也可以直接使用pagename发出请求,无需获取pageID。

答案 1 :(得分:5)

您在寻找喜欢该页面的人数或页面喜欢的内容?

例如。

https://graph.facebook.com/v2.3/56381779049/likes?access_token=<access_token>&summary=true

将返回Page PepsiUS喜欢的内容。

https://graph.facebook.com/v2.3/56381779049?fields=likes&access_token=<access_token>

将返回喜欢该页面的总人数。

{"likes": 32804486, 
"id": "56381779049"}

此处已变PepsiUS

答案 2 :(得分:1)

谢谢@NativePaul

我花了将近两天时间找到一个解决方案,让Facebook粉丝页面的数字值计数器成为短代码。所以我修改了从这个链接获得的代码:http://www.internoetics.com/2015/07/13/display-number-facebook-page-likes-wordpress-php/

并修改它以使用fan_count字段,以下是供您参考的代码:

/*
	Display the Number of Facebook Page Likes in Plain Text with WordPress Shortcode (and PHP)
	Shortcode: [fbpagelikes id="" appid="" appsecret="" cache="" n="1"]
*/


function internoetics_fb_pagelikes($atts) {
  extract(shortcode_atts(array(
    'id' => 'kenryscom',
    'appid' => 'xxxxxxxxxxxxxxxx',
    'appsecret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'n' => 1,
    'cache' => 3600 * 24 * 1
  ), $atts));

 $fbcounthash = md5("$url.$cache.$appid.$appsecret.$n");
 $fbcountrecord = 'fblikes_' . $fbcounthash;
 $cachedposts = get_transient($fbcountrecord);
 if ($cachedposts !== false) {
 return $cachedposts;

  } else {

  $json_url ='https://graph.facebook.com/' . $id . '?fields=fan_count&access_token=' . $appid . '|' . $appsecret;
  $json = file_get_contents($json_url);
  $json_output = json_decode($json);
 
  if($json_output->fan_count) {
   $fan_count = $json_output->fan_count;
   if ($n) $fan_count = number_format($fan_count);
   set_transient($fbcountrecord, $fan_count, $cache);
   return $fan_count;
    } else {
   return 'Unavailable';
  }
 }
}
add_shortcode('fbpagelikes','internoetics_fb_pagelikes');

您必须将上述代码添加到主题函数文件中,并在代码开头提到的任何位置使用Shortcode。