更换新的JacksonFactory以获得Java中的Google凭据

2022-09-03 03:45:56

我正在尝试使用以下“旧”代码从服务器使用google-api进行身份验证:

GoogleTokenResponse tokenResponse =
                new GoogleAuthorizationCodeTokenRequest(TRANSPORT, JSON_FACTORY,
                        CLIENT_ID, CLIENT_SECRET, code, "postmessage").execute();
        // Create a credential representation of the token data.
        GoogleCredential
                credential = new GoogleCredential.Builder()
                .setJsonFactory(JSON_FACTORY)
                .setTransport(TRANSPORT)
                .setClientSecrets(CLIENT_ID, CLIENT_SECRET).build()
                .setFromTokenResponse(tokenResponse);

从用于java的google-api的旧版本中,JSON_FACTORY是这样做的:

JsonFactory JSON_FACTORY = new JacksonFactory();

但是由于我已经更新到版本1.15.0-rc,因此找不到JacksonFactory。看起来它已被重构或删除,但我找不到任何示例来替换这行代码。

我应该使用什么?JsonFactory的实现是肯定的,但是一些标准的实现可能已经存在?


答案 1

终于找到了杰克逊工厂的班级。它已被分离,在以下依赖项中可用:

    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>1.15.0-rc</version>
    </dependency>

所以Java代码不会改变。


答案 2

或者您也可以下载该库的特色.zip版本:

http://dl.google.com/dl/googleapis/google-api-java-client-featured.zip