Как получить изображение пользователя Facebook, используя самоцвет Koala? - PullRequest
6 голосов
/ 20 марта 2011

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

Код, который я использую, выглядит следующим образом:

picture_url = @user.get_picture("1000000111")

где @user - это объект API Graph, созданный с помощью Facebook Аутентификация ...

Чего не хватает в этом коде ?? Заранее спасибо.

Ответы [ 6 ]

14 голосов
/ 16 декабря 2011

Получить все изображения друзей из Facebook в рубине на рельсах. Вы можете использовать камень Коала https://github.com/arsduo/koala

У него есть хорошее доказательство

Чтобы получить друга в фейсбок, вы можете использовать

@graph = Koala::Facebook::API.new(oauth_access_token)
friends = @graph.get_connections("me", "friends")
friends.each do |f|
  f[:image]= @graph.get_picture(f["id"])
end

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

Чтобы избежать этого, вы можете использовать API REST, который поддерживает коала,

@rest = Koala::Facebook::API.new(oauth_access_token)
@rest.fql_query(my_fql_query) 
@rest.fql_multiquery(fql_query_hash) # convenience method

Чтобы написать запрос Fql, вы можете использовать структуру таблицы facebook, которую вы можете найти по адресу http://developers.facebook.com/docs/reference/fql/

, чтобы получить Facebook UID, имя и изображение, вы можете использовать это ..

@rest.fql_query("select uid, name, pic_square from user where uid in (select uid2 from friend where uid1 = me())")
12 голосов
/ 03 октября 2012

Вы также можете получить всех друзей с их фотографиями, используя get_connection() следующим образом

friends = @graph.get_connections("me", "friends?fields=id,name,picture.type(large)")
5 голосов
/ 09 июля 2012

Я получил изображение, работая напрямую, используя URL, указанный Коди в теге изображения, как показано ниже



img  src="http://graph.facebook.com/10000010000001/picture" />

img  src="http://graph.facebook.com/user_profile_id/picture" />


3 голосов
/ 30 декабря 2016
  USER_PROFILE_OPTIONS = {
    fields: %w(id first_name last_name hometown email 
               gender birthday picture.width(320))
  }.freeze
  @graph = Koala::Facebook::API.new(oauth_access_token)
  @graph.get_object('me', USER_PROFILE_OPTIONS)

См .: https://developers.facebook.com/docs/graph-api/reference/user/picture/

3 голосов
/ 09 апреля 2011

Используйте токен доступа, который вы получили от oauth

graph = Koala::Facebook::GraphAPI.new(access_token)
profile_path = graph.get_picture(uid)

Чтобы получить путь, а затем отобразить его

<%= image_tag profile_path %>

Это работает для меня и для вас..

2 голосов
/ 20 марта 2011

Я не знаю о Коале, но если вы попросите идентификатор пользователя (в форме graph.facebook.com/odedharth/picture), вы можете получить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...