Улучшенная библиотека Java до 1.19.0, а типы возвратных типов пользователей все разные

StackOverflow https://stackoverflow.com//questions/25068485

  •  26-12-2019
  •  | 
  •  

Вопрос

Я использую библиотеку клиента Java для API каталога отсюда: https://developers.google.com/ap-client-Library/ java / apis / admin / directory_v1

com.google.api.services.admin.directory.model.user Модель изменилась с 1,16 до 1.19.

В старой версии я имел в состоянии сделать это:

List<UserAddress> userAddressList = user.getAddresses();
for(UserAddress userAddress : userAddressList) {
    ///
}
.

Но сейчас user.getAddresses возвращает объект.Та же сделка для получателей, телефонов и т. Д. Это все возвращает объект, который при дальнейшей проверке выглядит как:

List<ArrayMap<String, String>>
.

arraymap расширяет универсально.

Что мне нужно сделать, чтобы добраться до пользовательских ресурсов, других, а затем возвращаться к предыдущей версии?

Это было полезно?

Решение

Это ошибка (с моей точки зрения) в последних версиях.Используйте более старый, как 1.16, 1.17 или первый 1.18 (последний 1.18 также имеет ошибку).

Другие советы

То же самое произошло в C # Клиент и обратно в мае 2015 г. Google Developer по имени eric Koleda ответил:

Перемен на бэкэнс имел непреднамеренное следствие изменения документа об обнаружении для службы, что делает поле адресов (и другие), помеченные как тип= любой. Это вызывает проблемы для сильно типов языков, таких как .NET, как вы нашли. Команда знает о проблеме, но это неясно, когда будет доступно исправление.

Однако C # клиент все еще имеет эту проблему, поэтому я бы предположил, что клиент Java также делает.

Вот пара вопросов, которые я нашел в Tracker Google Tracker, специально для этой проблемы в Java Client, но и еще не видел никакого прогресса:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top