我正在编写一个需要使用从客户端社交网络VKontakte获取的用户数据的应用程序。 我确实授权VKontakte。来自Android的VKontakte的用户信息
VKSdk.initialize(sdkListener, String.valueOf(idVK), VKAccessToken.tokenFromSharedPreferences(this, sTokenKey));
并得到了AccessToken。 现在我得到名称和电子邮件用户?
我正在编写一个需要使用从客户端社交网络VKontakte获取的用户数据的应用程序。 我确实授权VKontakte。来自Android的VKontakte的用户信息
VKSdk.initialize(sdkListener, String.valueOf(idVK), VKAccessToken.tokenFromSharedPreferences(this, sTokenKey));
并得到了AccessToken。 现在我得到名称和电子邮件用户?
现在,您无法获取用户电子邮件。
但是你可以通过类
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
您可以从用户请求的电子邮件范围,然后从访问令牌获取电子邮件:
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);
}
});
也是你的如果您只需要它,就不会忘记将'VKScope.EMAIL'添加到'VKSdk.login(context,VKScope.EMAIL)' –
@ArtemMostyaev。 –
VKSdk.getAccessToken()现在不推荐使用,而是使用VKAccessToken.currentToken()。 – Yaroslav
登录用户 后,我用这个代码
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
不知道的名字,但我想你可能没有收到电子邮件,如果用户不公开 – mangusta