Как использовать Oauth2 в Google Java API для получения объекта учетных данных - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь использовать 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");
    }
...