Я использую библиотеку «Хранилище сервисов Google API». Когда я хочу создать хранилище для создания ведра:
private static Storage createStorage(String clientId, String clientSecret, String applicationName, Set<String> scopesList) {
HttpTransport httpTransport = null;
Storage storage;
Credential credential = null;
VerificationCodeReceiver receiver;
try {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
} catch (GeneralSecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(httpTransport, jsonFactory, clientId, clientSecret, scopesList).build();
receiver = new LocalServerReceiver();
try {
credential = new AuthorizationCodeInstalledApp(flow, receiver).authorize(clientId);
} catch (IOException e) {
e.printStackTrace();
}
storage = new Storage.Builder(httpTransport, jsonFactory, credential).setApplicationName(applicationName).build();
return storage;
}
Windows открывает мой браузер и отображает эту страницу:
Проблема в том, что мой код будет использоваться на сервере, поэтому я хочу, чтобы этот шаг был автоматическим. Что делать?
2 ответа
Как сказано в комментариях, вы должны использовать аутентификацию учетной записи службы для программы, работающей на сервер. Это создает файл закрытого ключа, который вы должны хранить в безопасности, который вы устанавливаете на свой сервер. Веб-потоки OAuth следует использовать только при действиях от имени пользователя на веб-сайте или в установленном приложении.
Чтобы использовать oauth2 на сервере.
Перейдите в консоль Google: консоль Google.
Учетные данные
Создать новый идентификатор клиента
Сервисный аккаунт
Создать идентификатор клиента
Создайте новый ключ p12.
И используйте документацию: doc
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.