4

I am writing an application that needs to use the user data taken from the client social network VKontakte. I did authorize VKontakte.

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

And got AccessToken. As now I get the name and email user?

Alex Sh
  • 131
  • 1
  • 3
  • 10

3 Answers3

8

You can request email scope from user, then get email from access token:

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);
    }
});

But remember, email is only available after first access request.

Old answer:

You can't get an email. This is not available. But you can get user 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);
    }
});

Roman Truba
  • 4,401
  • 3
  • 35
  • 60
0

For now, you can't get user email.

But you can get other simple info from user profile via class

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

Here is all available info: http://vkcom.github.io/vk-android-sdk/com/vk/sdk/api/model/VKUser.html

Jehy
  • 4,729
  • 1
  • 38
  • 55
0

After login user I use this code

 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);
            }
        });

List fields you can found here https://vk.com/dev/users.get

Sergei S
  • 2,553
  • 27
  • 36