Intereting Posts
Android: AbsoluteLayout? Ошибка после обновления Samsung | Monogame | Обнаружение вида view.height как ширина устройства Как сочетаются части конвейера чертежей Canvas для Android (2D)? Удалить значок / заголовок для панели действий с расширенным SearchView? Android: Таймер / Задержка Альтернатива Как показать статус «Загрузка» в Android? Как отличаются действия popBackStack () и replace ()? Анимировать listView только после их появления Лучшая практика для обновления аргументов фрагмента? Android – проблемы API провайдера Fused Location со спутниковой информацией (счет, сигнал и т. Д.) Обновление Robolectric 2.4: Получение ошибки тега приложения для проектов библиотеки в eclipse Оптимальная архитектура телефонных разговоров Получение ссылки на мое приложение на play.google перед отправкой моего приложения Как проверить, вводится ли строка пользователем в формате mm / dd / yyyy в android? Карты Android ClusteredMarkers – не отображаются неклассифицированные?

Информация о пользователе из ВКонтакте в Android

Я пишу приложение, которое должно использовать пользовательские данные, взятые из клиентской социальной сети ВКонтакте. Я разрешил ВКонтакте.

VKSdk.initialize(sdkListener, String.valueOf(idVK), VKAccessToken.tokenFromSharedPreferences(this, sTokenKey)); 

И получил AccessToken. Как теперь я получаю имя и адрес электронной почты?

    Вы можете запросить область электронной почты у пользователя, а затем получить электронную почту от токена доступа:

     String email = VKSdk.getAccessToken().email; String userId = VKSdk.getAccessToken().userId; //Get user info VKApi.users().get().executeWithListener(new VKRequest.VKRequestListener() { @Override public void onComplete(VKResponse response) { VKApiUser user = ((VKList<VKApiUser>)response.parsedModel).get(0); Log.d("User name", user.first_name + " " + user.last_name); } }); 

    Но помните, что электронная почта доступна только после первого запроса на доступ.

    Старый ответ:

    Вы не можете получить электронное письмо. Это недоступно. Но вы можете получить имя пользователя:

     VKApi.users().get().executeWithListener(new VKRequest.VKRequestListener() { @Override public void onComplete(VKResponse response) { VKApiUser user = ((VKList<VKApiUser>)response.parsedModel).get(0); Log.d("User name", user.first_name + " " + user.last_name); } }); 

    Пока вы не можете получить электронную почту пользователя.

    Но вы можете получить другую простую информацию из профиля пользователя через класс

     java.lang.Object com.vk.sdk.VKObject com.vk.sdk.api.model.VKApiModel 

    Здесь представлена ​​вся информация: http://vkcom.github.io/vk-android-sdk/com/vk/sdk/api/model/VKUser.html

    После входа в систему я использую этот код

      final VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.FIELDS, "photo_200, contacts")); request.executeWithListener(new VKRequest.VKRequestListener() { @Override public void onComplete(VKResponse response) { VKApiUserFull user = ((VKList<VKApiUserFull>)response.parsedModel).get(0); NavigationHelper.replaceFragment(getActivity().getSupportFragmentManager(), FrHome.newInstance(String.format("%s %s,", user.first_name, user.last_name), user.mobile_phone, user.photo_200), false); } }); 

    Список полей можно найти здесь https://vk.com/dev/users.get