Ответьте, чтобы узнать, как получить список друзей на Facebook и кто из этих друзей установил ваше приложение.

отаю над небольшим Android-приложением, пытаюсь добавить поддержку Facebook.

Основная проблема: я могу получить только основную информацию о друзьях пользователя (идентификатор, имя). Список разрешений приложения (offline_access здесь только для тестирования, будет удален в ближайшее время):

 String[] sPermissions = { "friends_about_me"
                         , "friends_birthday"
                         , "friends_location"
                         , "friends_website"
                         , "offline_access" };
 mLoginButton.init(this, mFacebook,  sPermissions);

Следующий запрос работает нормально - возвращает список пар id: name,

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

но если я изменю это, чтобы получить больше информации

 mAsyncRunner.request("me/friends?fields=id,name,birthday,hometown", new SampleRequestListener());

сервер возвращает ошибку «Активный токен доступа должен использоваться для запроса информации о текущем пользователе». Я проверил эти запросы API Graph с помощью браузера - оба они работают как положено.

Небольшое замечание: я использую сертификат отладки по умолчанию, чтобы подписать приложение и добавить его в качестве хэша приложения Facebook согласно инструкции Facebook:

Зарегистрируйте хеш-ключ Android-приложения. Это используется Facebook, чтобы гарантировать, что другое приложение не может олицетворять ваше приложение при общении с приложением Facebook Android.

Сгенерируйте ключевой хеш:

keytool -exportcert -alias [псевдоним] -keystore [хранилище ключей] | openssl sha1 -binary | openssl base64 В настройках разработчика Facebook перейдите на вкладку «Мобильные устройства и устройства».

В разделе Android введите ключевой хеш в поле Key Hash.

Может быть, есть другой способ получения информации о пользователях (день рождения, местоположение, пол и т. Д.)?

Ответы на вопрос(3)

Решение Вопроса

mFacebook.request(graphpath, bundle);

метод,Bundle будет иметь параметры, которые будут такими

graphpath = "me/friends"
bundle.putString("fields","birthday");

и вызовите метод запроса выше, он даст вам дни рождения, но вы должны добавитьfriends_birthday разрешение.

 cr_az08 янв. 2011 г., 10:01
Вы сделали мой день :), это работает. Спасибо!

это Ответьте, чтобы узнать, как получить список друзей на Facebook и кто из этих друзей установил ваше приложение.

/me/friends в Graph API все, что он возвращает, это идентификаторы и имена друзей. Если вы хотите получить больше информации о друзьях, вы можете позвонить/Friend_ID после этого.

 Surej07 нояб. 2011 г., 11:11
@Bartek: Но это займет много времени .. чтобы получить информацию о друзьях ..
 cr_az08 янв. 2011 г., 10:00
Привет, спасибо за предложение. Я пытался позвонить "мне / друзьям / Friend_ID" - APi возвращает только список всех друзей (id: name).
 Bartek08 янв. 2011 г., 11:51
Сначала вам нужно получить идентификаторы, поэтому вам нужно позвонить/me/friends, Тогда вы можете перебрать всех друзей и для каждого из них позвонить просто/Friend_ID (безme). Надеюсь это поможет

Ваш ответ на вопрос