Запрос на то, чтобы общее количество страниц в Facebook понравилось в v2.3 API
Раньше я использовал FQL для этого, но это устарело от версии 2.1, и я перехожу к v2.3, используя край графа "любит".
Вот мой URL:
https://graph.facebook.com/v2.3/<page_id>/likes?access_token=<access_token>&summary=true
Это возвращает деталь JSON с пейджинговой информацией - но она опускает total_count, которая должна быть возвращена, когда используется "summary = true", как описано в Facebook docs - вы увидите, что я имею в виду.
Ответы
Ответ 1
Любой споткнуться на этот ответ сейчас (апрель 2016 года) будет расстроен, потому что принятый ответ больше не работает в версии v2.6
? fields = нравится и /нравится теперь возвращает тот же результат → страницы, которые нравится странице.
Чтобы получить количество поклонников, вам теперь нужно использовать fields = fan_count
https://graph.facebook.com/pepsius/?fields=fan_count&access_token=<access_token>
Как вы можете видеть выше, вы также можете сделать запрос напрямую с помощью pagename, нет необходимости извлекать идентификатор страницы.
Ответ 2
Что вы ищете для общего количества людей, которым понравилась страница или понравилась страница?
Например.
https://graph.facebook.com/v2.3/56381779049/likes?access_token=<access_token>&summary=true
Вернет то, что понравилось странице PepsiUS.
https://graph.facebook.com/v2.3/56381779049?fields=likes&access_token=<access_token>
Вернет общее количество людей, которым понравилась страница.
{"likes": 32804486,
"id": "56381779049"}
Изменено здесь PepsiUS
Ответ 3
Спасибо @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');