Возможно ли получить количество понравившихся facebook для URL-адреса?

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

Любая помощь приветствуется.

Ответ 1

На самом деле https://graph.facebook.com/?ids=http://www.stackoverflow.com будет возвращать количество SHARES для этого URL-адреса, который отличается от количества понравившихся, так как он также включает комментарии и другие формы совместного использования. Это может быть или не быть важным отличием.

С Graph API 2.1+ есть два метода... хотя оба теперь требуют токенов доступа. См. Ниже, как получить токен доступа, который длится вечно и не связан с сеансом пользователя.

Как подсчитать URL-адреса:

  • Сначала вам нужно получить идентификатор URL: https://graph.facebook.com/?id=http://www.stackoverflow.com (для этого вам не нужен токен доступа)
  • После того, как у вас есть идентификатор, вы можете получить такой же счет через конечную точку. Вы можете получить доступ к суммарному счету в итоговой части ответа json. Вот пример запроса: https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=TOKEN_GOES_HERE (здесь вам нужен действительный токен доступа, но вы можете использовать токен доступа к приложениям - см. ниже).

Как рассчитывать на страницы Facebook:

Как получить вечный токен доступа (токен доступа к приложениям):

Вы можете использовать токен доступа пользователя для получения этих результатов, но часто для сценариев с одинаковым количеством отсчетов, которые не являются параметрами.

Вместо этого вам потребуется использовать токен доступа к приложениям, который позволит вам запускать script "автономно" без активного сеанса токена доступа пользователя. Раньше вам приходилось запрашивать токен доступа к приложениям, теперь это так же просто, как объединить идентификатор приложения и секрет с | следующим образом:

MY_APP_ID|MY_APP_SECRET

В других словах полный запрос сверху будет выглядеть примерно так:

https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=MY_APP_ID|MY_APP_SECRET

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


В предыдущих версиях Graph API (2.0 и ниже) вы могли использовать FQL:

SELECT like_count FROM link_stat WHERE url = "http://www.stackoverflow.com"

Here является фактической ссылкой. На момент написания этой статьи около 200 понравилось и 2000+ акций, так что это большая разница...

Ответ 3

Это довольно просто, несколько других экспертов на SO уже показали хорошие примеры. В основном используйте Graph API: http://developers.facebook.com/docs/api для запроса информации по вашему URL-адресу, например: https://graph.facebook.com/?ids=http://www.stackloverflow.com. API перенастраивает объект JSON, который должен быть простым в использовании с Javascript.