In dieser Kurzanleitung wird beschrieben, wie Sie eine einfache Java-Befehlszeilenanwendung einrichten, die Anfragen an die YouTube Data API sendet. In dieser Kurzanleitung wird beschrieben, wie Sie zwei API-Anfragen stellen:
- Sie verwenden einen API-Schlüssel, der Ihre Anwendung identifiziert, um Informationen zum YouTube-Kanal GoogleDevelopers abzurufen.
- Sie verwenden eine OAuth 2.0-Client-ID, um eine autorisierte Anfrage zu senden, mit der Informationen zu Ihrem eigenen YouTube-Kanal abgerufen werden.
Vorbereitung
Für diese Kurzanleitung benötigen Sie Folgendes:
- Java 1.7 oder höher.
- Gradle 2.3 oder höher
- Zugriff auf das Internet und einen Webbrowser
- Ein Google-Konto.
Schritt 1: Projekt und Anmeldedaten einrichten
Erstellen oder wählen Sie ein Projekt in der API Console aus. Führen Sie in der API Console die folgenden Aufgaben für Ihr Projekt aus:
Suchen Sie in der Bibliothek nach der YouTube Data API v3. Klicken Sie auf den Eintrag für diese API und prüfen Sie, ob die API für Ihr Projekt aktiviert ist.
Erstellen Sie im Bereich „Anmeldedaten“ zwei Anmeldedaten:
API-Schlüssel erstellen Sie verwenden den API-Schlüssel, um API-Anfragen zu stellen, für die keine Nutzerautorisierung erforderlich ist. So benötigen Sie beispielsweise keine Nutzerautorisierung, um Informationen zu einem öffentlichen YouTube-Kanal abzurufen.
OAuth 2.0-Client-ID erstellen Setzen Sie den Anwendungstyp auf Sonstiges. Für Anfragen, die eine Nutzerautorisierung erfordern, müssen Sie OAuth 2.0-Anmeldedaten verwenden. Sie benötigen beispielsweise eine Nutzerautorisierung, um Informationen zum YouTube-Kanal des aktuell authentifizierten Nutzers abzurufen.
Laden Sie die JSON-Datei mit Ihren OAuth 2.0-Anmeldedaten herunter. Die Datei hat einen Namen wie
client_secret_CLIENTID.json
, wobeiCLIENTID
die Client-ID für Ihr Projekt ist.
Schritt 2: Projekt vorbereiten
Führen Sie die folgenden Schritte aus, um Ihr Gradle-Projekt vorzubereiten:
Führen Sie in Ihrem Arbeitsverzeichnis die folgenden Befehle aus, um eine neue Projektstruktur zu erstellen:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resources
Verschieben Sie die JSON-Datei, die Sie nach dem Erstellen Ihrer OAuth 2.0-Client-ID heruntergeladen haben, in das Verzeichnis
src/main/resources
unter Ihrem Arbeitsverzeichnis und benennen Sie die Datei inclient_secret.json
um.Öffnen Sie die Datei
build.gradle
in Ihrem Arbeitsverzeichnis und ersetzen Sie ihren Inhalt durch Folgendes:apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION' }
Ersetzen Sie in der Datei
build.gradle
die Variablen REVISION und CL_VERSION durch zwei Werte aus der Dokumentation zur Clientbibliothek für die YouTube Data API. Der Screenshot unten zeigt die Dokumentation für die YouTube Analytics API. Dort ist zu sehen, wo die beiden Variablen auf der Seite erscheinen.
Schritt 3: Beispiel einrichten und ausführen
Verwenden Sie das APIs Explorer-Widget in der Seitenleiste, um Beispielcode zum Abrufen von Informationen zum YouTube-Kanal „GoogleDevelopers“ zu erhalten. Bei dieser Anfrage wird ein API-Schlüssel verwendet, um Ihre Anwendung zu identifizieren. Sie erfordert keine Nutzerautorisierung oder spezielle Berechtigungen des Nutzers, der das Beispiel ausführt.
- Öffnen Sie die Dokumentation für die Methode channels.list der API.
Auf dieser Seite finden Sie im Abschnitt „Häufige Anwendungsfälle“ eine Tabelle, in der verschiedene gängige Verwendungsarten der Methode beschrieben werden. Der erste Eintrag in der Tabelle bezieht sich auf die Auflistung von Ergebnissen nach Channel-ID.
Klicken Sie auf das Codesymbol für den ersten Eintrag, um den Vollbild-APIs Explorer zu öffnen und auszufüllen.
Auf der linken Seite des Vollbild-APIs Explorer wird Folgendes angezeigt:
Unter der Überschrift Request parameters (Anfrageparameter) finden Sie eine Liste der Parameter, die von der Methode unterstützt werden. Die Parameterwerte
part
undid
sollten festgelegt werden. Der Parameterwertid
,UC_x5XG1OV2P6uZZ5FSM9Ttw
, ist die ID für den YouTube-Kanal GoogleDevelopers.Unter den Parametern befindet sich der Abschnitt Anmeldedaten. Im Drop-down-Menü in diesem Bereich sollte der Wert API-Schlüssel angezeigt werden. Im APIs Explorer werden standardmäßig Demozugangsdaten verwendet, um den Einstieg zu erleichtern. Sie verwenden jedoch Ihren eigenen API-Schlüssel, um das Beispiel lokal auszuführen.
Rechts im Vollbild-API Explorer werden Tabs mit Codebeispielen in verschiedenen Sprachen angezeigt. Wählen Sie den Tab Java aus.
Kopieren Sie das Codebeispiel und speichern Sie es in einer Datei mit dem Namen
src/main/java/ApiExample.java
. In allen Beispielen wird derselbe Klassenname (ApiExample
) verwendet, sodass Sie die Dateibuild.gradle
nicht ändern müssen, um verschiedene Beispiele auszuführen.Suchen Sie in dem heruntergeladenen Beispiel nach dem String
YOUR_API_KEY
und ersetzen Sie ihn durch den API-Schlüssel, den Sie in Schritt 1 dieser Kurzanleitung erstellt haben.Führen Sie das Beispiel über die Befehlszeile aus. Führen Sie in Ihrem Arbeitsverzeichnis folgenden Befehl aus:
gradle -q run
Das Beispiel sollte die Anfrage ausführen und die Antwort in
STDOUT
ausgeben.
Schritt 4: Autorisierte Anfrage ausführen
In diesem Schritt ändern Sie das Codebeispiel so, dass anstelle von Informationen zum YouTube-Kanal „GoogleDevelopers“ Informationen zu Ihrem YouTube-Kanal abgerufen werden. Für diese Anfrage ist eine Nutzerautorisierung erforderlich.
Kehren Sie zur Dokumentation für die Methode channels.list der API zurück.
Klicken Sie im Abschnitt „Häufige Anwendungsfälle“ auf das Codesymbol für den dritten Eintrag in der Tabelle. In diesem Anwendungsfall wird die Methode
list
für „mychannel“ aufgerufen.Auf der linken Seite des Vollbild-APIs Explorer sehen Sie wieder eine Liste von Parametern, gefolgt vom Abschnitt Anmeldedaten. Es gibt jedoch zwei Änderungen im Vergleich zum Beispiel, in dem Sie Informationen zum GoogleDevelopers-Kanal abgerufen haben:
Im Parameterabschnitt sollte der Parameterwert
mine
auftrue
festgelegt werden, anstatt den Parameterwertid
festzulegen. Dadurch wird der API-Server angewiesen, Informationen zum Kanal des aktuell authentifizierten Nutzers abzurufen.Im Bereich Anmeldedaten sollte im Drop-down-Menü die Option für Google OAuth 2.0 ausgewählt sein.
Wenn Sie auf den Link Bereiche anzeigen klicken, sollte außerdem der Bereich https://www.googleapis.com/auth/youtube.readonly aktiviert sein.
Wählen Sie wie im vorherigen Beispiel den Tab Java aus, kopieren Sie das Codebeispiel und speichern Sie es unter
src/main/java/ApiExample.java
.Führen Sie das Beispiel über die Befehlszeile aus. Führen Sie in Ihrem Arbeitsverzeichnis folgenden Befehl aus:
gradle -q run
Das Beispiel sollte versuchen, in Ihrem Standardbrowser ein neues Fenster oder einen neuen Tab zu öffnen. Wenn das nicht funktioniert, kopieren Sie die URL aus dem Terminal und öffnen Sie sie manuell in Ihrem Browser.
Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, sich anzumelden. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.
Klicken Sie auf die Schaltfläche, um Ihrer Anwendung Zugriff auf die in Ihrem Codebeispiel angegebenen Bereiche zu gewähren.
Die Probe wird automatisch fortgesetzt und Sie können den für den Autorisierungsablauf verwendeten Browser-Tab schließen.
Die API-Antwort sollte wieder in
STDOUT
ausgegeben werden.