Да, вы можете, по сути, вам нужно что-то вроде следующего:
public NetHttpTransport netHttpTransport() throws GeneralSecurityException, IOException {
return GoogleNetHttpTransport.newTrustedTransport();
}
public JacksonFactory jacksonFactory() {
return JacksonFactory.getDefaultInstance();
}
private Set<String> googleOAuth2Scopes() {
Set<String> googleOAuth2Scopes = new HashSet<>();
googleOAuth2Scopes.add(SheetsScopes.SPREADSHEETS_READONLY);
return Collections.unmodifiableSet(googleOAuth2Scopes);
}
public GoogleCredential googleCredential() throws IOException {
File serviceAccount = new ClassPathResource("serviceAccount.json").getFile();
return GoogleCredential.fromStream(new FileInputStream(serviceAccount))
.createScoped(googleOAuth2Scopes());
}
public Sheets googleSheets() {
return new Sheets(netHttpTransport(), jacksonFactory(), googleCredential());
}
Подробнее о serviceAccount.json
вы можете прочитать здесь: https://cloud.google.com/iam/docs/creating-managing-service-account-keys
Выше быловзят из примера проекта Spring Boot, который я интегрировал с API Google: https://github.com/ciscoo/spring-boot-google-apis-example