Как получить учетные данные API Google для тестирования Drive API в веб-приложении Java EE? - PullRequest
0 голосов
/ 20 июня 2019

Я занимаюсь разработкой веб-приложения с использованием Enterprise Edition Java, где мне нужен Google Drive API.И в какой-то момент мне нужно получить «авторизацию» клиентов для доступа к их диску, и для этого (согласно тому, что я понял) мне нужно получить учетные данные API Google (oAuth), но это долгий процесс, и, как яЯ делаю это школьный проект, я не могу ждать.Поэтому мне нужен способ протестировать API без необходимости проходить через сложный процесс получения учетных данных, необходимых для опубликованных приложений.

Я тестирую Drive API в этом проекте https://github.com/google/google-api-java-client-samples/tree/master/drive-cmdline-sample

проблема в этой функции

private static Credential authorize() throws Exception {
    // load client secrets
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
        new InputStreamReader(testApi.class.getResourceAsStream("/client_secrets.json")));
    if (clientSecrets.getDetails().getClientId().startsWith("Enter")
        || clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
      System.out.println(
          "Enter Client ID and Secret from https://code.google.com/apis/console/?api=drive "
          + "into drive-cmdline-sample/src/main/resources/client_secrets.json");
      System.exit(1);
    }

Мне нужно каким-то образом получить client_secrets.json, но я не могу без учетных данных или, по крайней мере, это то, что я понял из исследований и чтения, которые я сделал.

Эта функция импортируется из com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;, если это помогает.

Спасибо!

1 Ответ

1 голос
/ 20 июня 2019

Да, вы правы, вам нужно пройти аутентификацию, чтобы использовать Google Drive API.В противном случае служба не сможет определить, кто осуществляет доступ к данным или запрашивает их, и имеет ли этот человек доступ к ним.

Не беспокойтесь, вам не нужно ждать, однако вы должны выполнить определенные шаги вДля того, чтобы получить эти полномочия.Я понимаю, что вы хотите предоставить доступ другим клиентам для получения их информации с помощью этого API.

Для этого вам сначала потребуется проект GCP с включенным Drive API.https://developers.google.com/drive/api/v3/quickstart/java

При нажатии «Включить Drive API» автоматически создается проект, который, скорее всего, называется быстрым стартом с уже активированным Drive API.

Затем необходимо настроить учетную запись службы.чтобы получить доступ к этому проекту.https://developers.google.com/identity/protocols/OAuth2ServiceAccount

После того, как это будет сделано, файл, который будет загружен, - это учетные данные, необходимые для аутентификации.( «Client_secret.json»)

...