Получить Facebook "Мне нравится" рассчитывать для каждой страницы в моем домене - PullRequest
44 голосов
/ 02 февраля 2011

Я включил кнопку «Мне нравится» в Facebook на многих страницах моего сайта.Я хочу отобразить большинство «понравившихся» страниц на моем сайте в списке, но не могу понять, как получить эти данные из Facebook за один запрос.До сих пор мне удавалось получить счетчик «Мне нравится» для отдельных страниц, используя следующий запрос FQL:

SELECT share_count, like_count, comment_count, total_count
FROM link_stat
WHERE url="http://www.mysite.com/some-page"

Однако, получая счетчик для каждой страницы на моем сайтев то время это не реально осуществимо.Помимо большого количества страниц, постоянно создаются новые страницы (новые профили пользователей, новые блоги и статьи в блогах и т. Д.), Что усложняет получение полной статистики для моего сайта и потребует тысяч вызовов API Facebook..

Есть ли способ подсчитать, сколько раз каждая страница в моем домене была "добавлена" в одном запросе?Или просто 10 самых популярных "понравившихся" страниц, или что-то подобное?

Ответы [ 8 ]

22 голосов
/ 08 февраля 2011

На самом деле я бы сделал это следующим образом:

$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 из запроса к базе данных вашего сайта.

7 голосов
/ 16 мая 2012

В продолжение ответа Салила, вот некоторые из основных API, которые использует sharedcount.com (полный список здесь: http://sharedcount.com/documentation.php)

Вы можете использовать API sharedcount, чтобы получить общее резюме или написать что-нибудьВы сами используете API:

5 голосов
/ 06 декабря 2011

Будет сложно получить лайки FB для всех ваших страниц в одном запросе, но вы можете получить индивидуальное количество акций для каждой страницы вашего сайта. Помимо подсчета доли вы также можете получить разбивку номеров по отдельным социальным сетям, для которых размещена страница вашего сайта. Введите ваше доменное имя на http://sharedcount.com/?url=http%3A%2F%2Fwww.parasitech.net%2F с соответствующими предложениями, предоставленными вам. Вы можете получить номера для Facebook, Twitter, Google+, Diggs, Linkedin, Google Buzz, Delicious и StumbleUpon.

2 голосов
/ 08 февраля 2011

Очевидно, что в FQL нет слов "LIKE".Это было мое первое предложение ..

Хотя вы можете использовать оператор "IN", например, так:

SELECT share_count, like_count, comment_count, total_count<br> FROM link_stat<br> WHERE "http://www.mysite.com/" IN url<br> ORDER BY like_count<br> LIMIT 10;

2 голосов
/ 08 февраля 2011

1) создайте на fb фальшивого пользователя, которому будут нравиться только страницы с вашего домена, или каким-либо другим способом сохранить ваши URL в 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 каждый как счетчик;), сортируйте и показывайте

1 голос
/ 11 февраля 2011

Может быть, вы можете просто запросить количество лайков для каждой страницы каждый раз, когда страница просматривается. Это не будет точным, но, учитывая, что наиболее популярные страницы будут просматриваться чаще, это может быть достаточно хорошо.

Кроме того, вы можете использовать пакетный процесс для запроса количества лайков для всей страницы или, по крайней мере, для первых N последних созданных каждые пару часов. В большинстве случаев вы не получите правильный результат, но в большинстве случаев вашим пользователям не нужен правильный результат, но достаточно хорошее приближение.

0 голосов
/ 08 февраля 2013

После некоторого осмотра, нам может быть лучше использовать FQL с API-интерфейсом для графов:

http://graph.facebook.com/fql?q=select%20comment_count%2C%20share_count%2C%20like_count%20from%20link_stat%20where%20url%20%3D%20%22http%3A%2F%2Fmashable.com%2F2013%2F01%2F30%2Ffacebook-twitter-blackberry-10%2F%22

Результаты:

{
   "data": [
      {
         "comment_count": 3,
         "share_count": 91,
         "like_count": 5
      }
   ]
}
0 голосов
/ 20 декабря 2012

Если вам просто нужен счетчик с каждой страницы, Super Social Media Tracker может это предоставить.

http://apps.microsoft.com/windows/en-US/app/super-social-media-tracker/a56c8971-42e2-4eb4-9b05-7e52233b4e1e

Но для больших страниц это медленно.

...