фан-страницы facebook и связанные с ними открытые графические объекты

Если существует такая фан-страница в facebook:

https://www.facebook.com/HuffingtonPost 

Я полагаю, чтобы получить количество лайков, вызывая API графа:

https://graph.facebook.com/https://www.facebook.com/HuffingtonPost

Фактически здесь я получаю:

{
    "id": "https://www.facebook.com/HuffingtonPost",
    "shares": 435839
}

С другой стороны, если я позвоню

https://graph.facebook.com/HuffingtonPost

Я получаю более подробный вывод:

{
   "id": "18468761129",
   "name": "The Huffington Post",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-ash2/188072_18468761129_6398033_s.jpg",
   "link": "http://www.facebook.com/HuffingtonPost",
   "likes": 435832,
   "category": "Website",
   "website": "http://www.facebook.com/HuffingtonPost",
   "username": "HuffingtonPost",
   "company_overview": "The Internet Newspaper\nNews | Blogs | Video | Community",
   "description": "The Huffington Post - The Internet Newspaper. - Company Overview: The Internet Newspaper News | Blogs | Video | Community | Facebook",

       [... omissis ...]

}

Кто-нибудь может сказать мне, в чем разница между этими двумя объектами opengraph?
Также есть небольшая разница между количеством репостов и лайков. Почему?

Обновление:

В последние дни api графа возвращал также тип объекта, поэтому я понял, что:

  • Первый вызов API возвращает объект типа link_stat.
  • Второй вызов API возвращает объект типа страницы.

В первом случае количество долей должно представлять собой сумму:

  • количество лайков этого URL
  • количество акций этого URL (включая копирование / вставку обратной ссылки на Facebook)
  • количество лайков и комментариев к историям в Facebook об этом URL
  • количество входящих сообщений, содержащих этот URL-адрес в качестве вложения.

Во втором случае как count представляет собой только себя

Может кто-нибудь подтвердить, что я правильно подсчитываю акции?


person freedev    schedule 27.09.2011    source источник


Ответы (2)


Для разделения лайков, репостов и комментариев (которые суммируются и используются как число лайков на кнопке лайков, лучше использовать FQL.

Если вы используете OG, что-нибудь вроде http://graph.facebook.com/http://example.com покажет вам:

{
   "id": "http://example.com",
   "shares": 3
}

... как вы отметили выше. Если вы используете FQL, вы можете получить разбивку по каждому из них.

<?php

// require the php sdk
require_once 'facebook-php-sdk/src/facebook.php';

// Create our Application instance.
$facebook = new Facebook(array(
  'appId' => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
  'cookie' => true,
));

$external_result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT share_count, like_count, comment_count, total_count, click_count FROM link_stat WHERE url="http://example.com";'
));

echo '<li>'.number_format($external_result[0]['like_count']).' likes, '.number_format($external_result[0]['share_count']).' shares';

echo '<pre>';
print_r($external_result);
echo '</pre>';

?>

На экране отобразится что-то вроде:

* 1 likes, 2 shares
Array
(
    [0] => Array
        (
            [share_count] => 2
            [like_count] => 1
            [comment_count] => 0
            [total_count] => 3
            [click_count] => 0
        )

)

Кроме того, у SA теперь есть специальный сайт для Facebook, который может быть вам полезен. :) facebook.stackoverflow.com

person snipe    schedule 13.10.2011
comment
Вы пробовали использовать FQL link_stat на facebook.com/HuffingtonPost? Вы получите все счетчики, установленные на 0. - person freedev; 14.10.2011
comment
Я не думаю, что запросы FQL работают должным образом, если URL-адрес начинается с Facebook. Они хотят, чтобы вы использовали графические объекты, когда это страница в FB. Вместо этого вы должны получить идентификатор объекта и использовать: 'query' = ›'SELECT share_count, like_count, comment_count, total_count, click_count FROM, как WHERE object_id = 18468761129;' - person snipe; 16.10.2011

Первый - это то, что говорит вам, сколько лайков у выбранного URL. Используя второй, вы получите информацию об объекте страницы через идентификатор страницы.

person Norbert Orzechowicz    schedule 27.09.2011
comment
а как насчет разницы между репостами и количеством лайков? - person freedev; 29.09.2011