User information from VKontakte to Android

I am writing an application that should use user data taken from the client social network VKontakte. I allowed VKontakte.

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

And got an AccessToken. How do I get the name and email address now?

+4
source share
3 answers

You can request an email scope from a user, and then receive email from an 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 that email is only available after the first access request.

Old answer:

<y> You cannot receive an email. This is not available. But you can get the username:

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

+8
source

You can’t get the user’s email yet.

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

​​ : http://vkcom.imtqy.com/vk-android-sdk/com/vk/sdk/api/model/VKUser.html

0

After user login 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);
            }
        });

The list of fields you can find here https://vk.com/dev/users.get

0
source

Source: https://habr.com/ru/post/1530406/


All Articles