La bibliothèque Java mis à niveau vers 1.19.0 et les types de retour d'utilisateur sont tous différents.

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

  •  26-12-2019
  •  | 
  •  

Question

J'utilise la bibliothèque client Java pour l'API d'annuaire d'ici: https://developers.google.com/api-Client-library/ Java / Apis / Admin / Directory_v1

Le com.google.api.services.admin.directory.model.user modèle est passé de 1,16 à 1.19.

Dans l'ancienne version, je pouvais faire cela:

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

mais maintenant user.getaddresses renvoie un objet.Même affaire pour les getorganizations, les téléphones, etc ... Ceux-ci renvoient tous un objet qui lors de la nouvelle inspection ressemble à:

List<ArrayMap<String, String>>

ArrayMap étend Genericjson.

Que dois-je faire pour obtenir à l'utilisateurAdress, d'autres, puis de retour à la version précédente?

Était-ce utile?

La solution

C'est un bug (de mon point de vue) dans les dernières versions.Utilisez un plus ancien comme 1,16, 1.17 ou le premier 1.18 (Dernier 1.18 a également le bogue).

Autres conseils

La même chose s'est produite dans Le client C # et retour en mai 2015 Un développeur Google nommé Eric Koleda a répondu:

Une modification du backend avait la conséquence inattendue de modifier le document de découverte du service, rendant les adresses sur le champ (et les autres) étant marqués comme type=. Cela provoque des problèmes pour des langues fortement types comme .NET, comme vous l'avez trouvé. L'équipe est au courant de la question, mais on ne sait pas quand un correctif sera disponible.

Cependant, le client C # a toujours ce problème, alors je supposerais que le client Java fait aussi.

Voici quelques problèmes que j'ai trouvés dans le suivi de Google sur le suivi de Google pour ce problème dans le client Java, mais il n'a pas encore vu de progrès:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top