Einfacher Zugriff auf Google APIs über Java
Die Google API-Clientbibliothek für Java bietet gängige Funktionen aller Google APIs, z. B. HTTP-Transport, Fehlerbearbeitung, Authentifizierung, JSON-Parsing, Mediendownload/-upload und Batchverarbeitung. Die Bibliothek enthält eine leistungsstarke OAuth 2.0-Bibliothek mit konsistenter Schnittstelle, einfachen, effizienten XML- und JSON-Datenmodellen, die jedes Datenschema unterstützen, und Protokollzwischenspeicher.
Wenn Sie eine Google API mit Google-Clientbibliotheken für Java aufrufen möchten, benötigen Sie die generierte Java-Bibliothek für die Google API, auf die Sie zugreifen. Zu diesen generierten Bibliotheken zählen die google-api-java-client-Kernbibliothek sowie API-spezifische Informationen wie die Stamm-URL. Dazu gehören auch Klassen, die Entitäten im Kontext der API darstellen und nützlich sind, um Konvertierungen zwischen JSON- und Java-Objekten zu erzielen.
Wenn Sie eine Google API mit Google-Clientbibliotheken für Java aufrufen möchten, benötigen Sie die generierte Java-Bibliothek für die Google API, auf die Sie zugreifen. Zu diesen generierten Bibliotheken zählen die google-api-java-client-Kernbibliothek sowie API-spezifische Informationen wie die Stamm-URL. Dazu gehören auch Klassen, die Entitäten im Kontext der API darstellen und nützlich sind, um Konvertierungen zwischen JSON- und Java-Objekten zu erzielen.
Betafunktionen
Mit @Beta auf Klassen- oder Methodenebene gekennzeichnete Funktionen können sich ändern. Sie können in jeder Hauptversion geändert oder entfernt werden. Verwenden Sie Beta-Funktionen nicht, wenn Ihr Code selbst eine Bibliothek ist (d. h. wenn Ihr Code auf dem CLASSPATH von Nutzern verwendet wird, die außerhalb Ihrer Kontrolle liegen).
Eingestellte Funktionen
Verworfene Funktionen, die keine Betafunktionen sind, werden achtzehn Monate nach der Veröffentlichung entfernt, in der sie erstmals eingestellt wurden. Sie müssen Ihre Nutzungen vor diesem Zeitpunkt korrigieren. Andernfalls kann es zu Ausfällen kommen und es ist nicht garantiert, dass ein Kompilierungsfehler auftritt.
Highlights der Google API-Clientbibliothek für Java
Es ist einfach, Google APIs aufzurufen.
Sie können Google APIs mit dienstspezifischen, von Google generierten Bibliotheken mit der Google API-Clientbibliothek für Java aufrufen. Die generierte Clientbibliothek für eine Google API finden Sie in der Liste der unterstützten Google APIs. In diesem Beispiel wird die Calendar API-Clientbibliothek für Java verwendet, um die Google Calendar API aufzurufen:
// Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
Die Bibliothek vereinfacht das Batch- und das Hochladen/Herunterladen von Medien
Die Bibliothek bietet Hilfsklassen für Stapelverarbeitung, Medien-Upload und Mediendownload.Die Bibliothek vereinfacht die Authentifizierung
Die Bibliothek enthält eine leistungsstarke Authentifizierungsbibliothek, durch die Sie die für die Verarbeitung von OAuth 2.0 erforderliche Codemenge reduzieren können. Manchmal reichen ein paar Zeilen aus. Beispiel:
/** 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"); }
Die Bibliothek wird in Google App Engine ausgeführt.
App Engine-spezifische Hilfsfunktionen erledigen authentifizierte Aufrufe an APIs schnell und Sie müssen sich nicht um den Austausch von Code gegen Tokens kümmern.
Beispiel:
Beispiel:
@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(); ... }
Die Bibliothek läuft auf Android 4.4 oder höher.
Die Android-spezifischen Hilfsklassen der Google-Clientbibliothek für Java sind gut in Android AccountManager integriert. Beispiel:
@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(); }
Einfache Installation
Wenn Sie keine generierte Bibliothek verwenden, können Sie die Binärdatei für die Google API-Clientbibliothek für Java direkt von der Downloadseite herunterladen oder Maven oder Gradle verwenden. Um Maven zu verwenden, fügen Sie der Datei pom.xml die folgenden Zeilen hinzu:
Wenn Sie Gradle verwenden möchten, fügen Sie der Datei build.gradle-Datei die folgenden Zeilen hinzu:
Weitere Informationen zum Installieren und Einrichten der Google API
Clientbibliothek für Java finden Sie in der
herunterladen
und Einrichtungsanleitung.
<project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.32.1</version> </dependency> </dependencies> </project>
Wenn Sie Gradle verwenden möchten, fügen Sie der Datei build.gradle-Datei die folgenden Zeilen hinzu:
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }
Unterstützte Umgebungen
Die Google API-Clientbibliothek für Java unterstützt die folgenden Java-Umgebungen:
- Java 7 oder höher, Standard (SE) und Enterprise (EE)
- Google App Engine
- Android 4.4 oder höher. Wenn für den von Ihnen benötigten Google-Dienst eine Bibliothek für Google Play-Dienste verfügbar ist, verwenden Sie diese anstelle dieser Bibliothek. Die Google Play-Bibliothek bietet die bestmögliche Leistung und Nutzererfahrung.