Ответьте, чтобы узнать, как получить список друзей на 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)

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