Аутентификация локального сервера в Google Cloud с использованием API остальных
Мы планируем разместить тему (pub/sub) в облаке Google и создали тему и учетную запись службы поддержки клиентов.
Теперь я должен подключиться к теме и публиковать сообщения. Я пытался пройти проверку подлинности перед публикацией сообщений. Но не смог найти подходящий подход для моего сценария "Локальный сервер к облачной аутентификации Google с использованием rest API".
Пожалуйста, помогите мне, если есть какой-либо подход, доступный для этого метода.
Вот код, который я использую, но вместо маркера доступа выдает ответ перенаправления браузера. Пожалуйста, найдите код ниже и ответ
private static Credential authorize() throws Exception {
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleClientSecrets clientSecrets = JSON_FACTORY.fromReader(new InputStreamReader(new FileInputStream(new File(KEY_FILE_LOCATION))), GoogleClientSecrets.class);
if (clientSecrets.getDetails().getClientId().startsWith("Enter")
|| clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
System.out.println("Enter Client ID and Secret in client_secrets.json");
System.exit(1);
}
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
httpTransport, JSON_FACTORY, clientSecrets,
Collections.singleton(PubsubScopes.PUBSUB)).build();
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize(SERVICE_ACCOUNT_EMAIL);
}
Please open the following address in your browser:
1 ответ
Все, что вам нужно, это файл ключа JSON учетной записи службы. Проверьте документацию, чтобы увидеть, как вы можете использовать это (учетные данные приложения по умолчанию, используя GOOGLE_APPLICATION_CREDENTIALS переменная окружения).