как получить адрес электронной почты, используя эту область, из интеграции с Google Plus

Я попробовал этот URL-адрес https://www.googleapis.com/auth/userinfo.profile. в android oauth, а интеграция google plus в моем приложении.

Получение следующего json, и этот массив json не содержит адрес электронной почты, подобный этому

profile{"displayName":"Devarajan Mahalingam","gender":"male",
"id":"101222514586833333269",
"image":{"url":"https://"}

получаю все детали, кроме адреса электронной почты. Мне нужно получить адрес электронной почты..


person harikrishnan    schedule 26.09.2014    source источник
comment
Зачем именно вам нужен адрес электронной почты? Как это связано с gmail-api? Кажется специфичным для G+ API.   -  person Eric D    schedule 26.09.2014


Ответы (4)


Вам нужно разобрать область, как это

String SCOPE = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile";

person Deva    schedule 26.09.2014

Используйте строку ниже, чтобы получить адрес электронной почты с помощью GoogleApiClient

    String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
person Jatin    schedule 26.09.2014

Проверяли ли вы это? Надеюсь это поможет.

private void getProfileInformation() {
    try {
        if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {

            Person currentPerson = Plus.PeopleApi
                    .getCurrentPerson(mGoogleApiClient);
            String email = Plus.AccountApi.getAccountName(mGoogleApiClient);
            String personName = currentPerson.getDisplayName();
            String personPhotoUrl = currentPerson.getImage().getUrl();
            String personGooglePlusProfile = currentPerson.getUrl();


            Log.e(TAG, "Name: " + personName + ", plusProfile: "
                    + personGooglePlusProfile + ", email: " + email
                    + ", Image: " + personPhotoUrl);

            txtName.setText(personName);
            txtEmail.setText(email);

            // by default the profile url gives 50x50 px image only
            // we can replace the value with whatever dimension we want by
            // replacing sz=X
            personPhotoUrl = personPhotoUrl.substring(0,
                    personPhotoUrl.length() - 2)
                    + PROFILE_PIC_SIZE;

            new LoadProfileImage(imgProfilePic).execute(personPhotoUrl);

        } else {
            Toast.makeText(getApplicationContext(),
                    "Person information is null", Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
person Shadow    schedule 26.09.2014
comment
Привет искра.. я использую String googleAuthorizationRequestUrl = new GoogleAuthorizationRequestUrl(Credential.CLIENT_ID, Credential.REDIRECT_URI, Credential.SCOPE).build(); GoogleAccessProtectedResource accessProtectedResource = новый GoogleAccessProtectedResource(accessTokenResponse.accessToken, transport, jsonFactory, Credential.CLIENT_ID, Credential.CLIENT_SECRET, accessTokenResponse.refreshToken); здесь я использовал oauth json для получения электронной почты, например profile = plus.people().get(me).execute(); - person harikrishnan; 26.09.2014

Для лучшего понимания попробуйте http://www.androidhive.info/2014/02/android-login-with-google-plus-account-1/.

person user3606902    schedule 26.09.2014