Я пытаюсь использовать API Google Photos Java для загрузки / выгрузки фотографий для проекта и хотел найти способ использовать экран / браузер согласия OAuth2 вместо того, чтобы вручную указывать идентификатор клиента и секрет.
Мне кажется, что документация Google по их API Java OAuth говорит что-то свое на каждом сайте. В настоящее время я могу успешно пройти аутентификацию, используя идентификатор клиента и секрет клиента, предоставленные консолью Google Api.
Вот код, который я сейчас использую для аутентификации.
private static Credential authorize() throws IOException {
AuthorizationCodeFlow flow = new AuthorizationCodeFlow.Builder(BearerToken.authorizationHeaderAccessMethod(),
new NetHttpTransport(),
JacksonFactory.getDefaultInstance(),
new GenericUrl("https://oauth2.googleapis.com/token"),
new ClientParametersAuthentication(CLIENT_ID, CLIENT_SECRET),
CLIENT_ID,
"https://accounts.google.com/o/oauth2/auth").setScopes(Arrays.asList(REQUEST_SCOPE))
.setDataStoreFactory(new FileDataStoreFactory(DATA_STORE_DIR)).build();
LocalServerReceiver receiver = new LocalServerReceiver.Builder().setHost("localhost").setPort(80).build();
return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
}