Получение изображения друзей с помощью facebook-android-SDK - PullRequest
4 голосов
/ 28 февраля 2011

Я получаю идентификаторы и имена друзей, используя

mAsyncRunner.request("me/friends", new FriendRequestListener());

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

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

Спасибо

Ответы [ 2 ]

7 голосов
/ 01 марта 2011

К сожалению, не потому, что список друзей является ответом в JSON-кодировке, и включение всех изображений будет огромным ответом.
Вам нужно позвонить http://graph.facebook.com/ + userid + /picture?type=large (не указывать ?type=large, если вы хотите уменьшенную версию) для каждого друга.

1 голос
/ 16 ноября 2012

Вы писали:

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

Да, это возможно, используя FQL и Пользователь и Друг FQL-таблицы:

SELECT uid, name, pic, pic_small, pic_big, FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

В вашем приложении для Android вы можете сделать запрос FQL следующим образом:

String query = "SELECT uid, name, pic, pic_small, pic_big FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())";

Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
mAsyncFacebookRunner.request(null, params, new CustomRequestListener());

где CustomRequestListener() расширяется RequestListener в Facebook Android SDK.

Это вернет:

  • id
  • имя пользователя
  • URL-адреса по умолчанию, изображения малого и большого профиля

для друзей текущего пользователя.

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