Описание тега google-api-java-client
Клиентская библиотека Google API для Java
Обзор
Клиентская библиотека API Google для Java - это гибкая, эффективная и мощная клиентская библиотека Java для доступа к любому API на основе HTTP в сети, а не только к API Google.
Библиотека имеет следующие особенности:
- Мощная библиотека OAuth 2.0 с последовательным интерфейсом.
- Легкие и эффективные модели данных XML и JSON, поддерживающие любую схему данных.
- Поддержка буферов протокола.
- Набор сгенерированных библиотек для API Google.
Доступ к API Google
Чтобы использовать клиентские библиотеки Google Java для вызова любого Google API, вам понадобятся две библиотеки:
- Базовая клиентская библиотека API Google для Java (google-api-java-client), которая представляет собой общую библиотеку времени выполнения, описанную здесь. Эта библиотека предоставляет функциональные возможности, общие для всех API, например, HTTP-транспорт, обработку ошибок, аутентификацию, синтаксический анализ JSON, загрузку / выгрузку мультимедиа и пакетную обработку.
- Автоматически сгенерированная библиотека Java для API, к которому вы обращаетесь, например, сгенерированная библиотека Java для API BigQuery. Эти сгенерированные библиотеки включают специфичную для API информацию, такую как корневой URL-адрес, и классы, представляющие сущности в контексте API. Эти классы полезны для преобразования между объектами JSON и объектами Java.
Чтобы найти сгенерированную библиотеку для Google API, посетите клиентскую библиотеку Google API для Java. Пакеты Java для конкретных API включают как основной клиент google-api-java-client, так и библиотеки для конкретных клиентов.
Если вы используете старую библиотеку GData, вам необходимо выполнить миграцию.
Разработка под Android
Если вы разрабатываете для Android, и API Google, который вы хотите использовать, включен в библиотеку сервисов Google Play, вам следует использовать эту библиотеку для обеспечения максимальной производительности и удобства.
Чтобы получить доступ к другим API Google, вы можете использовать клиентскую библиотеку API Google для Java, которая поддерживает Android 1.5 (или выше).
Другие среды Java
В дополнение к Android 1.5 или выше, клиентская библиотека API Google для Java поддерживает следующие среды Java: - Java 5 (или выше), стандартная (SE) и корпоративная (EE) - Google App Engine
Не поддерживаются: Google Web Toolkit (GWT), Java Mobile (ME) и Java 1.4 (или более ранние версии).
Выделенные особенности
Библиотека упрощает вызов API Google.
Вы можете вызывать API Google с помощью сгенерированных библиотек для конкретных служб Google с помощью клиентской библиотеки API Google для Java. Вот пример вызова API Календаря Google:
java // Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
Библиотека упрощает аутентификацию.
Библиотека аутентификации может уменьшить количество кода, необходимого для обработки OAuth 2.0, и иногда всего несколько строк - это все, что вам нужно. Например:
java /** 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, и вам не нужно беспокоиться об обмене кода на токены. Например:
java @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 (@Beta).
Если вы разрабатываете для Android, и API Google, который вы хотите использовать, включен в библиотеку сервисов Google Play, вам следует использовать эту библиотеку для обеспечения максимальной производительности и удобства.
Чтобы получить доступ к другим API Google, вы можете использовать клиентскую библиотеку Google для специальных вспомогательных классов Java для Android, которые хорошо интегрированы с Android AccountManager. Например:
java @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 следующие строки:
maven <project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.20.0</version> </dependency> </dependencies> </project>
Чтобы использовать Gradle, добавьте в файл build.gradle следующие строки:
gradle repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.20.0' }
Зависимости
Эта библиотека построена на основе двух общих библиотек, также созданных Google, и также предназначена для работы с любыми HTTP-сервисами в Интернете: * Клиентская библиотека Google HTTP для Java * Клиентская библиотека Google OAuth для Java
Важные предупреждения
@Бета
Возможности, отмеченные аннотацией @Beta на уровне класса или метода, могут быть изменены. Они могут быть изменены любым способом или даже удалены в любом основном выпуске. Вы не должны использовать бета-функции, если ваш код сам является библиотекой (то есть, если ваш код используется в CLASSPATH пользователей, находящихся вне вашего контроля).
Устаревание
Устаревшие не-бета-функции будут удалены через восемнадцать месяцев после выпуска, в котором они впервые объявлены устаревшими. Вы должны исправить свои обычаи до этого времени. Если вы этого не сделаете, это может привести к поломке любого типа, и вам не гарантируется ошибка компиляции.