ВКонтакте API для Android: почему вместо photo_big приходит camera_b.gif или null?

Здравствуйте, в 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";
  • Вопрос задан
  • 1863 просмотра
Решения вопроса 1
LeEnot
@LeEnot
Енот-андроид
Ну Так вы их и не запрашиваете...
private final static String FIELDS = "photo, photo_50, photo_100, photo_200, city, sex";
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
afarber
@afarber Автор вопроса
afarber.de
Ну, видимо ответ такой: photo_50, photo_100, photo_200 можно получить через VkApiUserFull объект.

Остальные (и более большие) фото VK-пользователя придется выуживать через JSONObject: photo_400, photo_max, photo_max_orig и (устаревший?) photo_big.

Вот пример моей информации (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_50":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e3\/n-yDMG4lvvk.jpg",
"photo_100":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e2\/Kt5-Wj2Ffv4.jpg",
"photo_200":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e1\/oJrjeeYO44I.jpg",
"photo_max":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e1\/oJrjeeYO44I.jpg",
"photo_big":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7df\/TnyKeffL_mU.jpg",
"photo_max_orig":"https:\/\/pp.vk.me\/c319319\/v319319333\/b7e0\/Zg6YbDQnqiM.jpg"
}]}


По этому поводу я создал новое issue на GitHub.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы