用户信息来自Android中的VKontakte

时间:2014-03-06 11:15:17

标签: android vk

我正在编写一个需要使用从客户端社交网络VKontakte获取的用户数据的应用程序。 我确实授权了VKontakte。

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

获得了AccessToken。 现在我得到了名字和电子邮件用户?

3 个答案:

答案 0 :(得分:8)

您可以向用户请求电子邮件范围,然后从访问令牌中获取电子邮件:

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

答案 1 :(得分:0)

目前,您无法收到用户的电子邮件。

但您可以通过课程

从用户个人资料中获取其他简单信息
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

答案 2 :(得分:0)

登录用户后 我用这个代码

 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