Получить дату рождения из контактов Google Plus в круге

Я пытаюсь получить дни рождения всех контактов, а также свои собственные, не имея возможности получить такую ​​информацию. Все остальное работает, и я могу получить имя, идентификатор, изображение и контакты в моем кругу, а также в моем собственном, но день рождения кажется нулевым. Это даже после того, как мой день рождения стал общедоступным, а дни рождения контактов общедоступными.

Чтобы получить мои данные

if (Plus.PeopleApi.getCurrentPerson(mgoogleApiClient) != null) {
            Person currentPerson = Plus.PeopleApi.getCurrentPerson(mgoogleApiClient);
            String personName = currentPerson.getDisplayName();
            String personPhotoUrl = currentPerson.getImage().getUrl();
            String personGooglePlusProfile = currentPerson.getUrl();
            String email = Plus.AccountApi.getAccountName(mgoogleApiClient);

            Log.e("details", "Name: " + personName + ", plusProfile: "
                    + personGooglePlusProfile + ", email: " + email
                    + ", Image: " + personPhotoUrl + "   ID:" + currentPerson.getId()
                    + "  bday" + currentPerson.getBirthday());
        } 

Чтобы получить сведения о списке друзей

Plus.PeopleApi.loadVisible(mgoogleApiClient, null).setResultCallback(new ResultCallback<People.LoadPeopleResult>() {
            @Override
            public void onResult(People.LoadPeopleResult loadPeopleResult) {
                if (loadPeopleResult.getStatus().getStatusCode() == CommonStatusCodes.SUCCESS) {
                    PersonBuffer personBuffer = loadPeopleResult.getPersonBuffer();
                    try {
                        int count = personBuffer.getCount();
                        for (int i = 0; i < count; i++) {
                            Log.i("person", "Person " + i + " name: " + personBuffer.get(i).getDisplayName() + " - id: " + personBuffer.get(i).getId());
                            Log.i("birthday", personBuffer.get(i).getBirthday() + "" + "  hasBday" + personBuffer.get(i).hasBirthday());
                        }
                    } finally {
                        personBuffer.close();
                    }
                } else {
                    Log.i("error", "Error");
                }
            }
        });

person Jude Fernandes    schedule 05.12.2015    source источник


Ответы (1)


ИМХО, перейдите на страницу документацию Google, вы обнаружите, что:

public abstract PendingResult loadVisible (GoogleApiClient googleApiClient, String pageToken)

Загружает список видимых людей в кругах пользователя. Для получения дополнительной информации см.: https://developers.google.com/+/api/latest/people/list.

Каждое лицо будет содержать заполненные поля id, displayName, image, objectType и url. Чтобы получить дополнительные данные профиля, используйте метод load(GoogleApiClient, String...).

Итак, попробуйте использовать

load(GoogleApiClient, String...)

Надеюсь это поможет!

person BNK    schedule 05.12.2015
comment
Не сработало, в соответствии с этим вызовом будут отображаться только пользователи, использующие одно и то же приложение, и в настоящее время это тестовое приложение, поэтому его 0. - person Jude Fernandes; 05.12.2015
comment
Тестовое приложение? Что ты имеешь в виду? - person BNK; 05.12.2015
comment
В настоящее время я разрабатываю приложение, поэтому никто другой не мог предоставить приложению разрешения на использование своего профиля, если это имело значение. - person Jude Fernandes; 05.12.2015