Łatwy dostęp do interfejsów API Google z języka Java

Biblioteka klienta Google API dla języka Java zapewnia funkcje typowe dla wszystkich interfejsów API Google, na przykład transport HTTP, obsługę błędów, uwierzytelnianie, analiza danych JSON, pobieranie i przesyłanie multimediów oraz grupowanie. Biblioteka obejmuje zaawansowaną bibliotekę OAuth 2.0 o spójnym interfejsie, oraz proste, skuteczne modele danych XML i JSON, które obsługują dowolny schemat danych oraz obsługę buforów protokołów.
Aby wywołać interfejs API Google, używając bibliotek klienta Google dla Javy, potrzebujesz wygenerowanej biblioteki Java dla interfejsu API, do którego uzyskujesz dostęp. Te wygenerowane biblioteki zawierają podstawową bibliotekę google-api-java-client oraz informacje związane z interfejsem API, takie jak główny adres URL. Obejmują też klasy reprezentujące encje w kontekście interfejsu API i przydatne do konwersji między obiektami JSON a obiektami Java.
Aby wywołać interfejs API Google, używając bibliotek klienta Google dla Javy, potrzebujesz wygenerowanej biblioteki Java dla interfejsu API, do którego uzyskujesz dostęp. Te wygenerowane biblioteki zawierają podstawową bibliotekę google-api-java-client oraz informacje związane z interfejsem API, takie jak główny adres URL. Obejmują też klasy reprezentujące encje w kontekście interfejsu API i przydatne do konwersji między obiektami JSON a obiektami Java.
Funkcje w wersji beta
Funkcje oznaczone symbolem @beta na poziomie klasy lub metody mogą ulec zmianie. Mogą one zostać zmodyfikowane lub usunięte w dużej wersji głównej. Nie używaj funkcji w wersji beta, jeśli kod jest samą biblioteką (to znaczy, jeśli jest on używany w CLASSPATH) użytkowników spoza Twojej kontroli.
Funkcje wycofane
Wycofane funkcje inne niż beta zostaną usunięte 18 miesięcy po premierze, w której zostały wycofane. Do tego czasu musisz rozwiązać problem. Jeśli nie zdecydujesz się na wykonanie takiego działania, każdy rodzaj przerwania może spowodować wystąpienie błędu kompilacji.
Najważniejsze funkcje w Bibliotece klienta Google API w języku Java
Wywołanie interfejsów API Google jest proste
Korzystając z Biblioteki klienta Google API dla języka Java, możesz wywoływać interfejsy API Google przy użyciu bibliotek wygenerowanych przez Google. (Aby znaleźć wygenerowaną bibliotekę klienta dla interfejsu API Google, sprawdź listę obsługiwanych interfejsów API Google). Oto przykład, który używa biblioteki klienta interfejsu Calendar API do obsługi języka Java, aby wywołać interfejs Google Calendar API:
// Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
Biblioteka ułatwia grupowanie i przesyłanie oraz pobieranie multimediów
Biblioteka udostępnia zajęcia pomocnicze dotyczące grupowania, przesyłania multimediów i pobierania multimediów.Biblioteka ułatwia uwierzytelnianie
Biblioteka zawiera zaawansowaną bibliotekę uwierzytelniania, która może zmniejszyć ilość kodu potrzebnego do obsługi OAuth 2.0. Czasem wystarczy kilka wierszy. Na przykład:
/** 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"); }
Biblioteka działa w Google App Engine
Asystenty App Engine wykonują szybkie uwierzytelnione wywołania interfejsów API, więc nie musisz się martwić o wymianę kodu na token.
Przykład:
Przykład:
@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(); ... }
Biblioteka działa na urządzeniach z Androidem 4.4 lub nowszym.
Biblioteka pomocnicza Google dla Javy jest dobrze zintegrowana z Menedżerem kont na Androidzie. Na przykład:
@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(); }
Instalacja jest prosta
Jeśli nie używasz biblioteki wygenerowanej, możesz pobrać plik binarny biblioteki klienta Google API dla języka Java bezpośrednio ze strony pobierania lub użyć narzędzia Maven lub Gradle. Aby używać Maven, dodaj do pliku pom.xml te wiersze:
Aby użyć Gradle, dodaj do pliku build.gradle te wiersze:
<project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.32.1</version> </dependency> </dependencies> </project>
Aby użyć Gradle, dodaj do pliku build.gradle te wiersze:
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }Szczegółowe informacje o instalowaniu i konfigurowaniu biblioteki klienta interfejsu API Google dla języka Java znajdziesz w instrukcjach pobierania i konfiguracji.
Obsługiwane środowiska
Biblioteka klienta interfejsu API Google dla języka Java obsługuje następujące środowiska Java:
- Java 7 lub nowsza, standardowa (SE) i Enterprise (EE).
- Google App Engine.
- Android 4.4 lub nowszy (ale jeśli masz usługę Google Play dostępną w określonej usłudze Google, użyj tej biblioteki zamiast tej). Biblioteka Google Play zapewni Ci najlepszą jakość i wydajność.