Я пытался настроить приложение, взаимодействующее с одним из API Google.Когда я развертываю его на своем сервере Linux (только в оболочке), он просит меня перейти и «Пожалуйста, откройте следующий адрес в вашем браузере» со значением URI перенаправления localhost:some_port
.
Я не могу получить к нему доступ со своего компьютера с Linux и не могу открыть его в другом браузере на основе пользовательского интерфейса, поскольку redirect_uri ВСЕГДА основан на локальном хосте.
Я добавил свой публичный домен сервера всписок URI перенаправления, но он всегда генерируется с адресом localhost.
Как я могу получить токен с экрана согласия, так как он всегда перенаправляет меня на localhost на моем сервере linux?
Код
Код для создания соединения (все нормально на localhost, поэтому здесь нет ошибок):
InputStream in = SearcherApplication.class.getResourceAsStream("/client_secret.json");
GoogleClientSecrets clientSecrets =
GoogleClientSecrets.load(jsonFactory, new InputStreamReader(in));
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
httpTransport, jsonFactory, clientSecrets, Collections.singleton(YOUTUBE_READONLY))
.setDataStoreFactory(dataStoreFactory)
.setAccessType("offline")
.build();
return new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize("user");