我正在使用目录API的Java客户端库: https://developers.google.com/api-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扩展了genericjson。

我要做什么来获得UserAddress,那么然后回到以前的版本?

有帮助吗?

解决方案

是最新版本中的错误(从我的角度来看)。使用像1.16,1.17或第一个1.18的较旧的一个(最新1.18也有错误)。

其他提示

同样的事情发生在C#Client 和返回2015年5月,Google Developer命名为 erickoleda 回复:

后端的变更具有更改服务的发现文档的意外后果,使得寻址字段(和其他)被标记为类型=任何。这会导致强烈类型语言的问题.NET,正如您所发现的那样。该团队了解这个问题,但何时可用修复时尚不清楚。

然而C#客户端仍然存在此问题,所以我会假设Java客户端也是如此。

这里是我在谷歌的问题跟踪器中找到了几个问题,专门针对Java客户端的此问题,但既未见过任何进展情况:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top