问题描述
我们希望实现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。他们不赞成使用什么方式做到这一点?
我们正在使用以下lib:
com.google.apis.google-api-services-analytics:v3-rev20190807-1.30.10
解决方法
-
Google Credential
尚未完全弃用,它取决于您使用的库(com.google.auth:google-auth-library-oauth2-http:0.17.1
应该仍然可用) -
在任何情况下,如here所述,不建议使用的方法是使用Google Auth Library for Java
-
有一些示例,这些示例用于构建凭据的不同方法-取决于您的用例。