Beispiele für API-Anfragen

Auf dieser Seite finden Sie Beispielanfragen an die YouTube Data API. Mit der YouTube Data API kannst du YouTube-Ressourcen wie Videos, Kanäle und Playlists abrufen und bearbeiten. Jedes Beispiel ist mit dem Google APIs Explorer verknüpft und wird mit Daten gefüllt, damit Sie das Beispiel ausführen und die Antwort sehen können.

Informationen zum Hochladen von Inhalten über die YouTube Data API findest du unter Fortsetzbare Uploads.

Übersicht

Zur Verdeutlichung der Darstellung zeigen die Beispiele auf dieser Seite die charakteristischen Elemente jeder Anfrage und kürzen die Basis-URL für den Host, der Data API-Anfragen verarbeitet (https://www.googleapis.com/youtube/v3). Wenn Sie die Anfrage außerhalb des Kontexts der Beispiele stellen möchten, müssen Sie die vollständige URL angeben.

Hier sehen Sie eine Beispielanfrage, wie sie auf dieser Seite erscheint:

GET {base-URL}/channels?part=contentDetails
                       &mine=true

Die vollständige URL für diese Anfrage lautet:

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
                                                  &mine=true

Einige der Anfragen rufen Daten ab, die nur für den Inhaber des YouTube-Kanals zugänglich sind, z. B. die Liste der Abonnenten. Bei diesen Anfragen muss der Kanalinhaber dem Google APIs Explorer das Recht erteilen, in seinem Namen YouTube Data API-Anfragen auszuführen. Weitere Informationen zum Autorisieren des Zugriffs auf Daten aus privaten Kanälen finden Sie unter Authentifizierung mit OAuth 2.0. Klicken Sie nach der Verknüpfung mit APIs Explorer auf die Schaltfläche Authorize requests using OAuth 2.0 (Anfragen mit OAuth 2.0 autorisieren). Mit diesem Schritt wird APIs Explorer autorisiert, Anfragen im Namen des Inhabers zu stellen. Sie wählen auch den Bereich der Autorisierung aus, der die Arten von Anfragen angibt, die APIs Explorer ausführen kann.

Die Antwort auf jede Anfrage ist die JSON-Darstellung einer YouTube-Ressource. Der Parameter part in der Anfrage gibt an, welche Teile der Ressource in der Antwort enthalten sind. Der Parameter identifiziert eine oder mehrere übergeordnete (nicht verschachtelte) Ressourcenattribute, die in der Antwort enthalten sein sollen. Beispiele für Videoressourcen:

  • Snippet
  • Inhaltsdetails
  • Spieler
  • Statistik
  • Status

Alle diese Teile sind Objekte, die verschachtelte Attribute enthalten. Sie können sich diese Objekte als Gruppen von Metadatenfeldern vorstellen, die der API-Server möglicherweise abruft (oder nicht). Daher müssen Sie für den Parameter part die Ressourcenkomponenten auswählen, die Ihre Anwendung tatsächlich verwendet.Weitere Informationen findest du unter Erste Schritte mit der YouTube Data API.

Kanalinformationen abrufen

In dieser Anfrage werden mit der Methode channels.list Details zu den Kanälen abgerufen, die zum authentifizierten Nutzer gehören.

GET {base_URL}/channels?part=contentDetails
                       &mine=true

Die Antwort auf diese Anfrage enthält die Kanal-ID und contentDetails für den Kanal des authentifizierten Nutzers. Die contentDetails enthält die verschiedenen vom System generierten Playlists, die mit dem Kanal verknüpft sind. Für viele der nachfolgenden Anfragen ist entweder die Kanal-ID oder eine der Playlist-IDs erforderlich. Es ist also wichtig, sie aufzuzeichnen.

{
  "id": {CHANNEL_ID},
  "kind": "youtube#channel",
  "etag": etag,
  "contentDetails": {
    "relatedPlaylists": {
      "likes": {LIKES_PLAYLIST_ID},
      "favorites": {FAVORITES_PLAYLIST_ID},
      "uploads": {UPLOADS_PLAYLIST_ID},
      "watchHistory": {WATCHHISTORY_PLAYLIST_ID},
      "watchLater": {WATCHLATER_PLAYLIST_ID}
    },
    "googlePlusUserId": string
  },
}

Hochgeladene Videos und vom System generierte Playlists

YouTube lädt alle hochgeladenen Videos zu einer Playlist hinzu, die mit dem Kanal verknüpft ist. Um eine Liste der hochgeladenen Videos zu erhalten, musst du die in der Antwort zurückgegebene Playlist „uploads“ für die Kanalinformationen abfragen und die Videos in dieser Playlist playlistItems.list abrufen.

Bevor Sie die folgende Beispielanfrage im Google APIs Explorer ausführen, ersetzen Sie {UPLOADS_PLAYLIST_ID} durch die Playlist-ID aus der vorherigen Anfrage.

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

Beachten Sie, dass der Wert "id" für jedes zurückgegebene Element seine PlaylistItem-ID ist. Die Video-ID für das Playlist-Element ist videoId im contentDetails-Teil.

Du kannst die Favoriten, die „Mag ich“-Bewertungen, den Wiedergabeverlauf und die „Später ansehen“-Listen eines Nutzers über die obige Anfrage abrufen, indem du die entsprechende Playlist-ID aus der Antwort auf die Kanalinformationen ersetzest.

Von Nutzern erstellte Playlists

In dieser Anfrage wird die Methode playlists.list verwendet, um die mit dem authentifizierten Kanal verknüpften Playlists abzurufen. Hinweis: Bei dieser Anfrage werden nicht die vom System generierten Playlists abgerufen, die in den Kanalinformationen wie Uploads oder Wiedergabeverlauf enthalten sind. Es werden nur von Nutzern erstellte Playlists abgerufen.

GET {base_URL}/playlists?part=snippet
                        &mine=true

Sobald du eine Playlist-ID hast, kannst du die Elemente mit der Anfrage aus dem vorherigen Abschnitt aus der Playlist abrufen.

Du kannst Informationen zu öffentlichen Playlists eines Kanals ohne Authentifizierung anfordern. Wenn Sie eine nicht authentifizierte Anfrage senden, müssen Sie das Argument key angeben, das den eindeutigen API-Schlüssel für die Anwendung angibt, von der die Anfrage stammt. Mit dieser Anfrage werden beispielsweise die mit dem GoogleDevelopers-Kanal verknüpften Playlists abgerufen.

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

Abos abrufen

Eine subscription-Ressource definiert eine Beziehung zwischen einem YouTube-Nutzer (Abonnent) und einem Kanal. Die Methode subscriptions.list ruft die Abonnenten eines bestimmten Kanals oder die Abos für einen bestimmten Nutzer ab, je nachdem, welche Parameter Sie in der Anfrage angeben.

Kanalabonnenten

Diese Anfrage ruft eine Liste der Abonnenten des authentifizierten Kanals ab.

GET {base_URL}/subscriptions?part=snippet
                            &mySubscribers=true

Nutzerabos

Dieselben Methoden, mit denen Abonnenten (subscriptions.list) aufgelistet werden, können zum Auflisten der Kanäle verwendet werden, die ein Nutzer abonniert. In dieser Anfrage wird mit dem Parameter mine eine Liste der YouTube-Kanäle abgerufen, die der authentifizierte Nutzer abonniert hat.

GET {base_URL}/subscriptions?part=snippet
                            &mine=true

Nutzeraktivität abrufen

Eine activity-Ressource enthält Informationen zu einer Aktion, die ein bestimmter Kanal oder Nutzer auf YouTube ausgeführt hat. Dazu zählen beispielsweise das Hochladen eines Videos oder das Abonnieren eines Kanals. Die Methode activities.list ruft die Aktionen ab, die mit einem Kanal oder Nutzer verknüpft sind, der den Anfragekriterien entspricht. Sie können beispielsweise Aktionen abrufen, die mit einem bestimmten Kanal, mit den Abos des Nutzers oder mit der benutzerdefinierten YouTube-Startseite des Nutzers verknüpft sind.

Aktivität während eines bestimmten Zeitraums

Diese Anfrage ruft alle Aktionen ab, die der authentifizierte Nutzer im April 2013 ausgeführt hat.

GET {base_URL}/activities?part=snippet,contentDetails
                         &mine=true
                         &publishedAfter=2013-04-01T00%3A00%3A00Z
                         &publishedBefore=2013-05-01T00%3A00%3A00Z

Aktivitäten auf der Startseite

Diese Anforderung ruft den Feed der benutzerdefinierten Aktivität ab, der auf der YouTube-Startseite des authentifizierten Nutzers angezeigt wird. 

GET {base_URL}/activities?part=snippet,contentDetails
                         &home=true

Mit der YouTube Analytics API können Sie Wiedergabestatistiken, Messwerte zur Beliebtheit sowie demografische Informationen für YouTube-Videos und -Kanäle abrufen. Auf der Seite Beispiel-API-Anfragen siehst du, wie allgemeine Berichte aus YouTube Analytics abgerufen werden.

Mit der Methode search.list können Sie nach YouTube-Videos, -Kanälen oder -Playlists suchen, die bestimmten Kriterien entsprechen. Du kannst nach Videoeigenschaften, Keywords oder Themen (oder einer Kombination aus diesen) suchen und die Ergebnisse nach Faktoren wie Erstellungsdatum, Anzahl der Aufrufe oder Bewertung sortieren.

Wie andere YouTube Data API-Anfragen gibt die Methode search.list die JSON-Darstellung einer YouTube-Ressource zurück. Im Gegensatz zu anderen YouTube-Ressourcen ist ein Suchergebnis jedoch kein hartes Objekt mit einer eindeutigen ID.

Bei vielen Anfragen wird nach öffentlich verfügbaren Inhalten gesucht. Daher ist keine Authentifizierung erforderlich. Von den Beispielen unten wird nur die erste Authentifizierung benötigt, da explizit nach „meine“ Videos gefragt wird. Wenn Sie eine nicht authentifizierte Anfrage senden, müssen Sie das Argument key angeben, das den eindeutigen API-Schlüssel für Ihre Anwendung angibt.

Meine meistgesehenen Videos

Mit dieser Anfrage werden alle Videos des authentifizierten Nutzers abgerufen und nach Anzahl der Aufrufe in absteigender Reihenfolge aufgelistet.

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

Einbettbare HD-Videos

Mit dieser Anfrage wird nach Videos mit bestimmten Properties gesucht, insbesondere in HD-Videos, die auf anderen Websites eingebettet werden können. Die Ergebnisse werden in absteigender Reihenfolge nach der Bewertung aufgelistet.

GET {base_URL}/search?part=snippet
                     &order=rating
                     &type=video
                     &videoDefinition=high
                     &videoEmbeddable=true
                     &key={YOUR_API_KEY}

Videos zu einem bestimmten Thema

Mit dieser Anfrage wird eine Stichwortsuche für Videos zur YouTube Data API durchgeführt, die Untertitel enthalten.

GET {base_URL}/search?part=snippet
                     &q=YouTube+Data+API
                     &type=video
                     &videoCaption=closedCaption
                     &key={YOUR_API_KEY}

Themenbasierte Suche

Eine komplexere Möglichkeit, nach Videos zu einem bestimmten Thema zu suchen, sind die Verwendung von Freebase-Themen anstelle von Suchbegriffen. Alle YouTube-Kanal- und -Videoressourcen enthalten ein topicDetails-Objekt mit einer Liste der zur Ressource gehörenden Freebase-Themen-IDs. Eine themenbasierte Suche ist intelligenter als eine Keyword-Suche, da ein Freebase-Thema alle Aspekte eines realen Konzepts oder Sachverhalts widerspiegelt.

Wenn Sie mit einem Freebase-Thema suchen möchten, müssen Sie zuerst die Themen-ID über die Freebase API abrufen. Diese Anfrage gibt Videos zurück, die mit dem Freebase-Thema für Python verknüpft sind, dessen Themen-ID /m/05z1_ lautet.

GET {base_URL}/search?part=snippet
                     &topicId=/m/05z1_
                     &type=video
                     &key={YOUR_API_KEY}

Playlists oder Kanäle suchen

Die Suche ist nicht auf Videos beschränkt. Du kannst auch nach Playlists oder Kanälen suchen. Mit dieser Anfrage werden Playlists abgerufen, die mit dem Keyword „Fußball“ übereinstimmen.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

Wenn Sie lieber Fußballkanäle finden möchten, ändern Sie einfach den Parameter type.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

Wenn du alle Fußballinhalte (Kanäle, Playlists und Videos) sehen möchtest, kannst du eine universelle Suche durchführen. Wenn Sie den Parameter type weglassen, werden in der Anfrage Inhalte aller Typen abgerufen

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

Ressourcen erstellen und aktualisieren

Bei allen bisher untersuchten Anfragen wird die HTTP-GET-Methode verwendet, um YouTube-Daten abzurufen. Die YouTube Data API bietet auch Methoden, die HTTP POST verwenden, um YouTube-Ressourcen wie Videos, Playlists oder Kanäle zu erstellen oder zu aktualisieren. Die folgenden Anfragen enthalten Beispiele.

POST-Methoden umfassen einen Request body. Dies ist die JSON-Darstellung der Ressource, die erstellt oder aktualisiert wird. Sie können im Google APIs Explorer mit einem interaktiven Tool JSON-Darstellungen erstellen.

Abo erstellen

Durch diese Anfrage wird der authentifizierte Nutzer für den GoogleDevelopers-Kanal angemeldet. Es wird also eine Aboressource erstellt.

POST {base_URL}/subscriptions?part=snippet
Request body: {   'snippet': {     'resourceId': {       'kind': 'youtube#channel',       'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw'     }   } }

Playlist erstellen

Durch diese Anfrage wird eine neue öffentliche Playlist erstellt.

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

Video zu einer Playlist hinzufügen

Nachdem wir eine Playlist erstellt haben, können wir ihr ein Video hinzufügen. Durch diese Anfrage wird ein Video am Anfang der Playlist hinzugefügt ('position': 0).

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }