Улучшенная библиотека Java до 1.19.0, а типы возвратных типов пользователей все разные
-
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, но и еще не видел никакого прогресса: