首页 > 解决方案 > GoogleCredential 弃用

问题描述

我们希望实现 Google OAUTH 以与我们基于 Web 应用程序的凭据很好地配合使用。流程从 UI 端开始,显示用户同意屏幕,然后我们获取代码。然后将该代码发送到我们基于 java 的后端以获取刷新令牌。

目前我们使用这种方法:

 private Analytics getAnalytics(String refreshToken) throws Exception {

        NetHttpTransport httpTransport =
                GoogleNetHttpTransport.newTrustedTransport();

        JsonFactory jsonFactory =
                JacksonFactory.getDefaultInstance();

        return new Analytics.Builder(
                httpTransport,
                jsonFactory,
                new GoogleCredential.Builder()
                        .setTransport(httpTransport)
                        .setJsonFactory(jsonFactory)
                        .setClientSecrets(clientId, clientSecret)
                        .build()
                        .setRefreshToken(refreshToken)
        ).build();
    }

上面的问题是 GoogleCredential 已被弃用。他们不推荐使用什么方法来做到这一点?

我们正在使用以下库:

com.google.apis.google-api-services-analytics:v3-rev20190807-1.30.10

标签: google-oauthgoogle-analytics-apigoogle-api-java-client

解决方案


  • Google Credential没有完全弃用,它取决于您使用的库(com.google.auth:google-auth-library-oauth2-http:0.17.1应该仍然有效)

  • 无论如何,如here所述,不推荐使用的方法是使用Google Auth Library for Java

  • 有用于构建凭据的不同方法的示例 - 取决于您的用例。


推荐阅读