java 使用2.0.0 google-api-client进行Gmail调用时出现兼容性问题

utugiqy6  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(227)

我一直在做一个小项目,它使用google-api-client 2.0.0和google-api-services-gmail版本v1-rev 20220404 -2.0.0连接到用户的Gmail收件箱并读取邮件
当我尝试构建Gmail服务时

service = new Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY,
          authorize).setApplicationName(Main.APPLICATION_NAME).build();

就会抛出一个非法状态异常
“您当前运行的是2.0.0版的google-api-client。要运行1.25.0版的Gmail API库,您至少需要1.15版的google-api-client。”
一开始我以为我安装的模块可能不是最新的,但这并没有真正意义,所以我尝试调试并进入Gmail.java类。
代码以一种非常简单的方式检查版本,如果条件为false,则抛出异常

static {
        Preconditions.checkState(GoogleUtils.MAJOR_VERSION == 1 && GoogleUtils.MINOR_VERSION >= 15,
        "You are currently running with version %s of google-api-client. You need at least version 1.15 of google-api-client to run version 1.25.0 of the Gmail API library.",
        new Object[]{GoogleUtils.VERSION});
    }

这就是问题所在,我认为,我的MAJOR_VERSION为2和MINOR_VERSION为0使语句为假,即使我使用的版本是最新的。我不知道是否可以通过将API版本降级到1.XX来解决,无论如何我会尝试,但你知道我是否在这里的东西?

whitzsjs

whitzsjs1#

如果这对其他人有帮助,我在升级Firebase Admin插件时遇到了这个错误。它阻止了我的应用引擎应用程序启动。
一个简单的修复我是恢复我的POM文件。
修复:将9.1.1降级到8.1.0:

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>9.1.1</version>
</dependency>

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>8.1.0</version>
</dependency>

相关问题