На самом деле, 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 :
- Вы можете получить аналогичный счет напрямую через: https://graph.facebook.com/FacebookDevelopers/?fields=likes&access_token=TOKEN_GOES_HERE
(вам нужен действительный токен доступа здесь, но вы можете использовать токен доступа к приложению - см. ниже)
Как получить постоянный токен доступа (App Access Token) :
Вы можете использовать токен доступа пользователя, чтобы получить эти результаты, но часто для сценариев с одинаковым счетом, что не вариант.
Вместо этого вам нужно будет использовать токен доступа к приложению, который позволит вам запускать скрипт «в автономном режиме» без активного сеанса токена доступа пользователя. Ранее вам приходилось запрашивать токен доступа к приложению, теперь это так же просто, как объединить идентификатор приложения и секрет с | следующим образом:
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:
ВЫБРАТЬ like_count FROM link_stat WHERE url = "http://www.stackoverflow.com"
Здесь - фактическая ссылка. На момент написания этой статьи около 200 лайков и более 2000 акций, так что это большая разница ...