Rails, Koala и Facebook — разместите изображение на стене и следите за количеством лайков

Я разрабатываю приложение rails, которое активно взаимодействует с Facebook. Идея заключается в том, что пользователи могут загружать изображения, и будет своего рода галерея с миниатюрами этих изображений и индикатором «лайков». Я использую драгоценный камень koala.

Я успешно разместил изображение на своей стене следующим образом:

  if current_user && session[:fb_token]
    @user_graph = Koala::Facebook::API.new(session[:fb_token])
  end
  @user_graph.put_picture(@post.photo.url)

В моем _post.html.erb я делаю что-то вроде этого:

<div class="fb-like left_float" data-href="<%= post.photo.url %>" data-send="false" data-layout="button_count" data-width="170" data-show-faces="false" data-font="segoe ui"></div>

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

Любые идеи ?

обновить

метод put_picture возвращает следующее:

id: '109668002508542'
post_id: '100003960282996_109668032508539'

но когда я проверяю эти идентификаторы, используя http://graph.facebook.com/109668002508542 или

@user_graph.get_object('109668002508542')

Я не получаю никакой информации, никаких лайков и только "ложь"


person tmaximini    schedule 18.06.2012    source источник


Ответы (1)


Итак, вы хотите получить количество лайков для фотографии, которую вы загрузили? Вы не должны использовать кнопку «Нравится» для этого. Вы можете использовать метод get_connections для получения количества лайков для страницы. Попробуйте что-то вроде

<div>
  <%= @user_graph.get_connections(@the_post_id_from_put_picture, "likes") likes
</div>

Не забудьте убедиться, что у вас есть правильные разрешения для доступа к объектам. Проверьте свои разрешения с помощью потока OAuth в Koala https://github.com/arsduo/koala/wiki/OAuth

person Connor Treacy    schedule 18.06.2012
comment
как мне получить @the_post_id_from_put_picture? он создается, когда я что-то загружаю? - person tmaximini; 18.06.2012
comment
Это должно быть возвращено из метода put_picture. См. github.com/arsduo/koala/wiki/Uploading-Photos-and -Видео для примера. - person Connor Treacy; 18.06.2012
comment
спасибо, Коннор, я попробовал это, и это что-то возвращает. Просто я не могу получить данные из возвращенных идентификаторов. Обновил мой вопрос --- может быть, есть другие идеи? - person tmaximini; 18.06.2012
comment
Без проблем. Я обновил свой вопрос примечанием о разрешениях. Попробуйте инструмент Graph API Explorer. Это отличный способ протестировать разрешения и возвращаемые API значения без написания кода developers.facebook.com/tools/explorer/ - person Connor Treacy; 18.06.2012
comment
Спасибо .. но почему я просто получаю «ложь». вы думаете, что это проблема с разрешениями? - person tmaximini; 18.06.2012
comment
Да, обычно это проблема с разрешениями. - person Connor Treacy; 19.06.2012