Я намагаюся отримати зображення друзів користувача Facebook їхні ідентифікатори facebook, але використовуючи наступний код повертає nil замість URL-адреси зображення ...
Код, який я використовую, такий:
picture_url = @user.get_picture("1000000111")
де @user - це об'єкт Graph API, створений за допомогою Facebook аутентифікація ...
Що відсутнє в цьому коді ?? Заздалегідь спасибі.
Відповіді:
2 для відповіді № 1Я не знаю про Коала, але якщо ви запитуєте ідентифікатор користувача (у вигляді graph.facebook.com/odedharth/picture
) Ви можете отримати його.
13 за відповідь № 2
Щоб отримати всі зображення facebook друзів у ruby на рейках. Ви можете скористатися перлиною Коала https://github.com/arsduo/koala
Вона отримала приємне домінування
Щоб отримати facebbok друг ви можете використовувати
@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, ім'я та pic, які ви можете використовувати цей ..
@rest.fql_query("select uid, name, pic_square from user where uid in (select uid2 from friend where uid1 = me())")
12 для відповіді № 3
Ви також можете отримати всіх своїх друзів за допомогою своїх фотографій get_connection()
як зазначено нижче
friends = @graph.get_connections("me", "friends?fields=id,name,picture.type(large)")
5 за відповідь № 4
Я отримав зображення, працюючи безпосередньо за допомогою url, вказаного Cody в тезі зображення, як показано нижче
img src="/images/http://graph.facebook.com/10000010000001/picture" />
img src="/images/http://graph.facebook.com/user_profile_id/picture" />
3 для відповіді № 5
Використовуйте маркер доступу, який ви отримали від oauth
graph = Koala::Facebook::GraphAPI.new(access_token)
profile_path = graph.get_picture(uid)
Щоб отримати шлях, потім відобразити його
<%= image_tag profile_path %>
Це працює для мене, і це для вас ..
1 для відповіді № 6
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/