Подключение к google sheets api через сервисный аккаунт
Пытаюсь организовать сохранение данных приложения в таблице google. Для этого из приложения надо авторизоваться к api google. Использовал вот такой способ и он работает, но требует авторизации через браузер, соответственно только в ручном режиме:
InputStream in = GoogleAuthorizeUtil.class.getResourceAsStream("/file");
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(
GsonFactory.getDefaultInstance(), new InputStreamReader(in));
List<String> scopes = Arrays.asList(SheetsScopes.SPREADSHEETS);
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), clientSecrets, scopes)
.setDataStoreFactory(new MemoryDataStoreFactory())
.setAccessType("offline").build();
Credential credential = new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize("id");
Выяснил что для автоматической авторизации можно использовать сервисный акк гугла, но через эти методы уже не работает. Может кто-то может подсказать мне адекватный способ авторизации на java. Казалось бы задача простая, но почему все так не для людей-то.