Получение общего количества лайков FB для страницы веб-приложения с использованием Rails - PullRequest
3 голосов
/ 05 ноября 2011

Я создаю приложение rails, в котором есть галерея изображений, и пользователи смогут нажимать кнопку в стиле Facebook для каждого открываемого ими изображения.Каждое изображение может иметь отдельный URL-адрес страницы.Я планирую использовать плагин в стиле Facebook, чтобы пользователи могли размещать фотографии в виде веб-страниц.До сих пор я был в состоянии найти, что если я получу https://graph.facebook.com/?id=http://www.mysite.com/ImagePage, я получу:

{
   "id": "http://www.mysite.com/ImagePage",
   "shares": 30
}

Это оставляет мне 2 проблемы.

  1. Свойство sharesэто не совсем общее количество лайков, это всего лишь количество раз, когда ссылка делала это на стене пользователя в фейсбуке.Как я могу получить количество лайков?

  2. Есть ли EventHandler или что-то, что я могу использовать, чтобы узнать, когда пользователь нажимает Like?чтобы я мог хранить эту информацию?Я хочу сохранить количество лайков в моем конце, чтобы я мог показывать галерею в порядке убывания общего количества лайков за каждый день.

Я натолкнулся на камень рельсов Koala, но я не уверен, нужно ли мне использовать его для моего приложения, поскольку у меня нет необходимости входить в систему, используя логин на Facebook/ подключения.Пожалуйста, сообщите, если вы считаете, что мне нужно сделать то, что я упомянул выше.

Ответы [ 2 ]

5 голосов
/ 05 ноября 2011

вы должны использовать FQL.

смотрите этот пример в php, я уверен, что вы знаете, как обработать его в ruby:

$fql = 'SELECT url, share_count, like_count, comment_count, total_count
        FROM link_stat WHERE url="http://stackoverflow.com"';
$json = file_get_contents('https://api.facebook.com/method/fql.query?format=json&query=' . urlencode($fql));

результат выглядит так:

[
    {
        "url"           : "http://stackoverflow.com",
        "share_count"   : 1353,
        "like_count"    : 332,
        "comment_count" : 538,
        "total_count"   : 2223
    }
]
0 голосов
/ 26 февраля 2013

Для тех, кто не знает, как самостоятельно изменить код, показанный в предыдущем ответе, у вас есть два варианта:

  • Используйте доступные гемы facebook, которые поддерживают выполнение запросов FQL (например: fb_graph )

Пример кода:

require 'fb_graph'

array = FbGraph::Query.new(
  'SELECT name FROM user WHERE uid = me()'
).fetch(ACCESS_TOKEN)

p array
  • Используйте простой код Ruby, который в основном выполняет запросы FQL, как видно из этого принятого ответа ( Facebook FQL-запрос с Ruby )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...