更换新的JacksonFactory以获取Java中的Google凭证

kij*_*kij 16 java json google-api jackson

我正在尝试使用以下"旧"代码从服务器上使用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);
Run Code Online (Sandbox Code Playgroud)

从用于java的旧版google-api开始,JSON_FACTORY的构建方式如下:

JsonFactory JSON_FACTORY = new JacksonFactory();
Run Code Online (Sandbox Code Playgroud)

但是因为我已经更新到版本1.15.0-rc,所以找不到JacksonFactory.看起来它已经被重构或删除,但我找不到任何替换这行代码的例子.

我该怎么用?肯定会实现JsonFactory,但是某些标准实现可能已经存在?

kij*_*kij 45

终于找到了JacksonFactory类.它已经分离,并且具有以下依赖关系:

    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>1.15.0-rc</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

所以Java代码不会改变.

  • +1.为什么谷歌让事情变得如此复杂?文档没有得到很好的解释 (8认同)