Легкий доступ к API Google из Java
![](https://developers.google.cn/static/api-client-library/java/images/banner-java-3.png?authuser=8&%3Bhl=ru&hl=ru)
Клиентская библиотека API Google для Java предоставляет функциональные возможности, общие для всех API Google, например транспорт HTTP, обработку ошибок, аутентификацию, синтаксический анализ JSON, загрузку/выгрузку мультимедиа и пакетную обработку. Библиотека включает в себя мощную библиотеку OAuth 2.0 с согласованным интерфейсом; легкие, эффективные модели данных XML и JSON, поддерживающие любую схему данных; и поддержка протокольных буферов .
Чтобы вызвать API Google с помощью клиентских библиотек Google для Java, вам потребуется сгенерированная библиотека Java для API Google, к которому вы обращаетесь. Эти сгенерированные библиотеки включают основную библиотеку google-api-java-client, а также информацию, относящуюся к API, например корневой URL-адрес. Они также включают классы, представляющие сущности в контексте API и полезные для выполнения преобразований между объектами JSON и объектами Java.
Чтобы вызвать API Google с помощью клиентских библиотек Google для Java, вам потребуется сгенерированная библиотека Java для API Google, к которому вы обращаетесь. Эти сгенерированные библиотеки включают основную библиотеку google-api-java-client, а также информацию, относящуюся к API, например корневой URL-адрес. Они также включают классы, представляющие сущности в контексте API и полезные для выполнения преобразований между объектами JSON и объектами Java.
Бета-функции
Функции, отмеченные @Beta на уровне класса или метода, могут быть изменены. Они могут быть изменены или удалены в любом основном выпуске. Не используйте бета-функции, если ваш код сам по себе является библиотекой (то есть, если ваш код используется в CLASSPATH пользователей вне вашего контроля).
Устаревшие функции
Устаревшие небета-функции будут удалены через восемнадцать месяцев после выпуска, в котором они впервые стали устаревшими. Вы должны исправить свои привычки до этого времени. Если вы этого не сделаете, это может привести к поломке любого типа, и вам не гарантирована ошибка компиляции.
Основные особенности клиентской библиотеки Google API для Java
Вызвать Google API просто
Вы можете вызывать API Google, используя библиотеки, созданные для конкретных служб Google, с помощью клиентской библиотеки API Google для Java. (Чтобы найти созданную клиентскую библиотеку для API Google, посетите список поддерживаемых API Google .) Вот пример, в котором клиентская библиотека API календаря для Java используется для вызова API календаря Google:
// Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
Библиотека упрощает пакетную обработку и загрузку/загрузку мультимедиа.
Библиотека предлагает вспомогательные классы для пакетной обработки , загрузки и загрузки мультимедиа .Библиотека упрощает авторизацию
Библиотека включает в себя мощную библиотеку проверки подлинности , которая может уменьшить объем кода, необходимого для работы с OAuth 2.0. Иногда достаточно нескольких строк. Например:
/** Authorizes the installed application to access user's protected data. */ private static Credential authorize() throws Exception { // load client secrets GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(CalendarSample.class.getResourceAsStream("/client_secrets.json"))); // set up authorization code flow GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( httpTransport, JSON_FACTORY, clientSecrets, Collections.singleton(CalendarScopes.CALENDAR)).setDataStoreFactory(dataStoreFactory) .build(); // authorize return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user"); }
Библиотека работает на Google App Engine.
Помощники, специфичные для App Engine, быстро обрабатывают аутентифицированные вызовы API, и вам не нужно беспокоиться об обмене кода на токены.
Например:
Например:
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { AppIdentityCredential credential = new AppIdentityCredential(Arrays.asList(UrlshortenerScopes.URLSHORTENER)); Urlshortener shortener = new Urlshortener.Builder(new UrlFetchTransport(), new JacksonFactory(), credential) .build(); UrlHistory history = shortener.URL().list().execute(); ... }
Библиотека работает на Android 4.4 или выше.
Вспомогательные классы клиентской библиотеки Google для Java для Android хорошо интегрированы с Android AccountManager . Например:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Google Accounts credential = GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS)); SharedPreferences settings = getPreferences(Context.MODE_PRIVATE); credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null)); // Tasks client service = new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential) .setApplicationName("Google-TasksAndroidSample/1.0").build(); }
Установка проста
Если вы не используете сгенерированную библиотеку , вы можете загрузить двоичный файл для клиентской библиотеки API Google для Java непосредственно со страницы загрузок или использовать Maven или Gradle. Чтобы использовать Maven, добавьте в файл pom.xml следующие строки:
Чтобы использовать Gradle, добавьте следующие строки в файл build.gradle:
<project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.32.1</version> </dependency> </dependencies> </project>
Чтобы использовать Gradle, добавьте следующие строки в файл build.gradle:
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }Дополнительные сведения об установке и настройке клиентской библиотеки API Google для Java см. в инструкциях по загрузке и установке .
Поддерживаемые среды
Клиентская библиотека Google API для Java поддерживает следующие среды Java:
- Java 7 или более поздняя версия, стандартная (SE) и корпоративная (EE).
- Google App Engine .
- Android 4.4 или выше — но если для нужного вам сервиса Google доступна библиотека Google Play Services , используйте эту библиотеку вместо этой. Библиотека Google Play обеспечит вам максимальную производительность и удобство.