SDK Вконтакте Android. Нужно получить информацию о пользователях с помощью метода ВК API users.get

У меня в приложении пользователь авторизуется в ВК с помощью метода VK.login(this, list); и получает объект VKAccessToken. Как используя SDK методы я теперь могу послать запрос users.get и в каком виде приходит ответ?


Ответы (2 шт):

Автор решения: Yulya Ulyanova

В общем пришлось мне книгу про Kotlin прочитать что бы разобраться. Когда мы получили токен и хотим отправить запрос то нужно создать объект с запросом. В Java это выглядит так

VKRequest vkRequest = new VKRequest("likes.add").addParam("type","post").addParam("owner_id",227420921).addParam("item_id", 21374).addParam("access_key", vkAccessToken.getAccessToken()).addParam("v", "5.130");

Создаём объект VKRequest и при создании в конструктор закидываем сам метод, а дальше с помощью методов addParam закидываем в объект параметры для запроса. В примере мы хотим поставить лайк на стене пользователя. vkAccessToken.getAccessToken() - тут мы указываем токен полученный ранее.

После того как мы получили объект vkRequest нужно его отправить на сервак, это делается с помощью метода VK.execute()

 VK.execute(vkRequest, new VKApiCallback(){

                @Override
                public void success(Object o) {
                 //какие то действия с полученной информацией
                }

                @Override
                public void fail(@NotNull VKApiExecutionException e) {
                 //какие то действия с полученной информацией
                }
            });

В метод VK.execute() мы запихиваем созданный нами объект и анонимный класс в котором переопределяем методы. Эти методы будут вызываться после того как сервер обработает запрос. success вызывается когда запрос обработан и получен ответ, а fail в случае если произошла ошибка при отправке запроса.

→ Ссылка
Автор решения: djdance

Поскольку на данный момент до сих пор нигде нет примеров по новому SDK, пришлось насобирать по кусочкам и обрывочным сведениям в интернете java-код использования в качестве SSO (логин и получение userId) на SDK com.vk:android-sdk-core:3.3.0

Полостью код положил на страницу официального SDK сюда

Вкратце:

VKRequest r = new VKRequest("users.get",VK.getApiVersion()).addParam("fields","city, domain, nickname,photo_100,sex");
VK.execute(r, new VKApiCallback<JSONObject>() {
                            @Override
                            public void success(JSONObject response) {
... //тут используем  response как обычно
→ Ссылка