Подтвердить что ты не робот

Получите Facebook "Like" count для каждой страницы моего домена

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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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 каждый, например count;), сортируйте и покажите

Ответ 5

По-видимому, в FQL нет LIKE. Это было мое первое предложение.

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

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

Ответ 6

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

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

Ответ 8

Вы можете использовать Facebook Graph API, чтобы получить счет лайка, поделиться.

Кроме того, я нашел инструмент онлайн, который может сделать это с хорошим результатом. Возможно, вы можете попробовать его здесь https://onlinetools.tech/socials-count