google-api-client 和 google-api-services 之间的版本兼容性

问题描述 投票:0回答:2

有一个项目依赖于

google-api-client
google-api-services-drive

google-api-client
版本看起来像这样:
1.23.0
,并且 github 上有这个库的变更日志。

google-api-services-drive
版本看起来像这样:
v3-rev105-1.23.0
,并且没有明确的变更日志。同一版本号有许多不同的
rev
后缀,如
v3-rev116-1.23.0
v3-rev135-1.23.0
等。看起来它是每周构建的,修订号不断增加。

问题是:客户端和服务版本如何兼容?是否可以安全地假设,任何版本为

v3-revXXX-1.23.0
的服务都与客户端
1.23.0
兼容,并且任何版本为
v3-revYYYYMMDD-1.32.1
的 api 服务都与 api 客户端
1.32.1
兼容?

java versioning google-api-java-client
2个回答
5
投票

虽然看起来常见的语义版本控制部分表明了兼容性,但事实似乎并非如此。

但是,有一种简单的方法可以找出特定

google-api-client
需要哪个
google-api-service
版本。问题是,
google-api-service
依赖于
google-api-client
,您可以...对,您可以在 POM 文件中找到它!

查看不同服务的 POM 文件,有时服务版本是

v3-rev20210201-1.31.0
,它取决于客户端版本
1.31.1
,而
v3-rev20210612-1.31.0
取决于
1.31.5
或者更糟糕:服务版本
v3-rev20220508-1.32.1
取决于客户端版本
1.34.0


0
投票

为了帮助其他有需要的人,我在访问谷歌表格时遇到了同样的问题。我的解决方案是使用以下依赖项:

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-sheets</artifactId>
  <version>v4-rev20230815-2.0.0</version>
</dependency>

也许这种情况的解决方案是依赖:

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-androidpublisher</artifactId>
  <version>v3-rev20230905-2.0.0</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.