Использовать API Google Sheets с ключом API, а не с OAuth? - PullRequest
0 голосов
/ 23 декабря 2018

Есть ли способ использовать "Google Java Sheet API" с ключом API, а не с OAuth, который приведен в их примерах

https://developers.google.com/sheets/api/quickstart/java

Я знаю, что вы можете использовать HTTP-запрос дляполучить данные с помощью ключа API, но я подумал, есть ли способ сделать это с помощью предоставленного Google API Java, чтобы мне не приходилось анализировать JSON для каждого запроса.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Да, вы можете, по сути, вам нужно что-то вроде следующего:

public NetHttpTransport netHttpTransport() throws GeneralSecurityException, IOException {
    return GoogleNetHttpTransport.newTrustedTransport();
}

public JacksonFactory jacksonFactory() {
    return JacksonFactory.getDefaultInstance();
}

private Set<String> googleOAuth2Scopes() {
    Set<String> googleOAuth2Scopes = new HashSet<>();
    googleOAuth2Scopes.add(SheetsScopes.SPREADSHEETS_READONLY);
    return Collections.unmodifiableSet(googleOAuth2Scopes);
}

public GoogleCredential googleCredential() throws IOException {
    File serviceAccount = new ClassPathResource("serviceAccount.json").getFile();
    return GoogleCredential.fromStream(new FileInputStream(serviceAccount))
            .createScoped(googleOAuth2Scopes());
}

public Sheets googleSheets() {
    return new Sheets(netHttpTransport(), jacksonFactory(), googleCredential());
}

Подробнее о serviceAccount.json вы можете прочитать здесь: https://cloud.google.com/iam/docs/creating-managing-service-account-keys


Выше быловзят из примера проекта Spring Boot, который я интегрировал с API Google: https://github.com/ciscoo/spring-boot-google-apis-example

0 голосов
/ 23 декабря 2018

Да, вы можете использовать ключ API.С https://developers.google.com/sheets/api/guides/authorizing

Каждый запрос, который ваше приложение отправляет в API Google Sheets, должен идентифицировать ваше приложение в Google.Существует два способа идентификации вашего приложения: с помощью токена OAuth 2.0 (который также авторизует запрос) и / или с помощью ключа API приложения.

...