【发布时间】:2020-08-12 03:57:21
【问题描述】:
我正在使用 google.api.client 版本 1.30.9 。我想在发送之前使用 Hangout Chat Api 验证我的请求。在官方文档https://developers.google.com/api-client-library/java/google-api-java-client/oauth2 中,google 使用了 GoogleCredential,但现在已被弃用。我正在使用以下代码来获取可用于构建 HangoutChat 对象的经过身份验证的凭据对象。
private static Credential authorize() throws Exception {
httpTransport=GoogleNetHttpTransport.newTrustedTransport();
dataStoreFactory = new FileDataStoreFactory(DATA_STORE_DIR);
// load client secrets
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
new InputStreamReader(HangoutsChat.class.getResourceAsStream("/client_secrets.json")));
// set up authorization code flow
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
httpTransport, JSON_FACTORY, clientSecrets,
Collections.singleton(HangoutsChat.DEFAULT_BASE_URL)).setDataStoreFactory(dataStoreFactory)
.build();
// authorize
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
}
AuthorizationCodeInstalledApp 和 LocalServerReceiver 在最新版本的 google API 中不可用。如何在使用 Hangout 聊天 API 请求之前进行身份验证。
【问题讨论】:
-
是什么让您认为凭据已被弃用?
-
我从 GoogleCredential googleapis.dev/java/google-api-client/latest/com/google/api/… 的文档中发现了这一点。
标签: java google-api google-oauth google-authentication google-api-java-client