Здравствуйте, в Android приложении я пытаюсь получить имя, город и большое фото пользователя этого приложения:
private final static String FIELDS = "photo,city,sex";
//private final static String FIELDS = "photo_big,city,sex";
private VKCallback<VKAccessToken> mCallback = new VKCallback<VKAccessToken>() {
@Override
public void onResult(VKAccessToken res) {
VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.FIELDS, FIELDS));
request.executeWithListener(mRequestListener);
}
};
private VKRequest.VKRequestListener mRequestListener = new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
try {
VKList<VKApiUserFull> list = (VKList<VKApiUserFull>) response.parsedModel;
VKApiUserFull user = list.get(0);
String sid = String.valueOf(user.id);
String given = user.first_name;
String family = user.last_name;
String photo = user.photo_200;
String place = (user.city != null ? user.city.title : "");
boolean female = (user.sex == VKApiUserFull.Sex.FEMALE);
// update UI
} catch (Exception e) {
}
}
};
@Override
public void onClick(View v) {
VKSdk.login(getActivity());
}
В отладчике вижу
response.responseString (свой
id внизу я изменил и я не забанен):
{"response":[
{"id":59751333,
"first_name":"Alexander",
"last_name":"Farber",
"sex":2,
"city":{"id":1945522,"title":"Bochum"},
"photo":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e3\/n-yDMG4lvvk.jpg"
}]}
Но увы - не могу найти значение "photo" в своем объекте VKApiUserFull:
Где же получить настоящий большой аватар пользователя, то есть в моем примере
https://pp.vk.me/c319319/v319319333/b7e3/n-yDMG4lv... ?
Я пробовал
photo и
photo_big, искал и
на GitHub в VK SDK...
Спасибо (свою
id наверху я изменил, так как он мне еще нужен для генерации хеша в мобильном приложении).
ОБНОВЛЕНИЕ 2:
VK SDK исправил эту ошибку в версии 1.6.2 и добавил там поля
public final static String FIELD_PHOTO_400_ORIGIN = "photo_400_orig";
public final static String FIELD_PHOTO_MAX = "photo_max";
public final static String FIELD_PHOTO_MAX_ORIGIN = "photo_max_orig";
public final static String FIELD_PHOTO_BIG = "photo_big";