How to get the data (first name, last name, etc.) of an authorized user through the VK API?

Here is my code:

public class VkActivity extends AppCompatActivity { String [] scope = new String[]{VKScope.MESSAGES,VKScope.FRIENDS,VKScope.WALL}; private String name; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_vk); VKSdk.login(this, scope); } VKAccessTokenTracker vkAccessTokenTracker = new VKAccessTokenTracker() { @Override public void onVKAccessTokenChanged(VKAccessToken oldToken, VKAccessToken newToken) { if (newToken == null) { // VKAccessToken is invalid } } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (!VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() { @Override public void onResult(VKAccessToken res) { Intent intent1 = new Intent(getApplicationContext(), AccountActivity.class); VKRequest request = VKApi.users().get(); ; VKAPI. // startActivity(intent1); // Пользователь успешно авторизовался Toast.makeText(getApplicationContext(),res + "Пользователь успешно авторизовался",Toast.LENGTH_LONG).show(); } @Override public void onError(VKError error) { // Произошла ошибка авторизации (например, пользователь запретил авторизацию) Toast.makeText(getApplicationContext(),"Произошла ошибка авторизации",Toast.LENGTH_LONG).show(); } })) { super.onActivityResult(requestCode, resultCode, data); } } } 

    1 answer 1

     String token = VKSdk.getAccessToken().accessToken; VKParameters parameters = VKParameters.from(VKApiConst.ACCESS_TOKEN, token); VKRequest request = new VKRequest("account.getProfileInfo", parameters); request.executeWithListener(new VKRequestListener(MainActivity.this) { @Override public void onComplete(VKResponse response) { super.onComplete(response); String status = ""; try { JSONObject jsonObject = response.json.getJSONObject("response"); String first_name = jsonObject.getString("first_name"); String last_name = jsonObject.getString("last_name"); String screen_name = jsonObject.getString("screen_name"); status = jsonObject.getString("status"); } catch (JSONException e) { e.printStackTrace(); } } }); 

    To use other parameters, refer to user requests.

     String token = VKSdk.getAccessToken().accessToken; VKParameters parameters = VKParameters.from(VKApiConst.ACCESS_TOKEN, token, VKApiConst.FIELDS, "photo_100", VKApiConst.NAME_CASE, "nom"); VKRequest request = VKApi.users().get(parameters); request.executeWithListener(new VKRequestListener(MainActivity.this) { @Override public void onComplete(VKResponse response) { super.onComplete(response); String photo_100 = null; try { JSONArray jsonArray = response.json.getJSONArray("response"); JSONObject jsonObject = jsonArray.getJSONObject(0); int id = jsonObject.getInt("id"); photo_100 = jsonObject.getString("photo_100"); } catch (JSONException e) { e.printStackTrace(); } } }); 
    • Thanks code works! - OPTIMIST .KZ 6:49