Извлечение списка друзей пользователей из facebook graph api v2.3

Я использую facebook SDK 4.0.1. Я дал разрешение для user_friends, но не могу получить список друзей пользователя. Я получаю количество друзей пользователя, но мне нужны имена друзей и идентификаторы пользователя.

private FacebookCallback<LoginResult> mcallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
accessToken = loginResult.getAccessToken();
Log.d("Access Token", accessToken.toString());
Profile profile = Profile.getCurrentProfile();
// Log.d("PROFILE","PROFILE IMAHE"+profile.getName());
displayWelcomeMessage(profile);

GraphRequestBatch batch = new GraphRequestBatch(
GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject jsonObject, GraphResponse response) {
try {
SharedPreferences.Editor editor = prefs.edit();
editor.putString(Constant.KEY_ID,jsonObject.getString("id"));
editor.putString(Constant.KEY_USER_NAME,jsonObject.getString("name"));
editor.putString(Constant.KEY_USER_FNAME,jsonObject.getString("first_name"));
editor.putString(Constant.KEY_USER_LNAME,jsonObject.getString("last_name"));
// hometown = jsonObject.getJSONObject("hometown");
// editor.putString(Constant.KEY_USER_HOMETOWN,hometown.getString("name"));
editor.putString(Constant.KEY_USER_EMAIL,jsonObject.getString("email"));
editor.putString(Constant.KEY_USER_GENDER,jsonObject.getString("gender"));
// editor.putString(Constant.KEY_USER_DOB,jsonObject.getString("birthday"));

editor.commit();
// town = hometown.getString("name");
// personId = jsonObject.getString("id");
// gen = jsonObject.getString("gender");
// email = jsonObject.getString("email");
Log.d("RESPONCE", "RESPONCE user=" + jsonObject.toString());
Log.d("RESPONCE", "RESPONCE =" + response.toString());

}
catch (JSONException e) {
e.printStackTrace();
}

}
}),
GraphRequest.newMyFriendsRequest(accessToken, new GraphRequest.GraphJSONArrayCallback() {
@Override
public void onCompleted(JSONArray jsonArray, GraphResponse response) {
//Lo Application code for users friends
Log.d("RESPONCE FRIEND", "RESPONCE FRIEND=" + jsonArray.toString());
Log.d("RESPONCE FRIEND", "RESPONCE =" + response.toString());
response.getJSONArray();
}
}));
batch.addCallback(new GraphRequestBatch.Callback() {
@Override
public void onBatchCompleted(GraphRequestBatch graphRequests) {
// Application code for when the batch finishes
}
});
batch.executeAsync();

person RAHUL UMAK    schedule 25.05.2015    source источник
comment
Я считаю, что после недавних изменений API это больше не разрешено. Вы сможете видеть только тех друзей, которые также зарегистрированы в вашем приложении.   -  person Rory O'Keeffe    schedule 25.05.2015
comment
Вы также можете использовать скрипт для извлечения данных из списка друзей пользователя, хотя технически это противоречит политике Facebook.   -  person Danny    schedule 18.07.2015


Ответы (1)


Начиная с версии 2.0 API Graph, из соображений конфиденциальности можно получить только друзей, которые также авторизовали ваше приложение. Дополнительную информацию можно найти в этой и многих других темах по этому же вопросу: Facebook Graph Api v2.0+ — /me/friends возвращает пустое значение или только друзей, которые также используют мое приложение

person luschn    schedule 25.05.2015