Implementierung: Videos

In den folgenden Beispielen wird gezeigt, wie Sie mit der YouTube Data API (v3) Funktionen im Zusammenhang mit Videos ausführen.

Hochgeladene Videos eines Kanals abrufen

In diesem Beispiel werden die Videos abgerufen, die auf einen bestimmten Kanal hochgeladen wurden. Das Beispiel besteht aus zwei Schritten:

In diesem Beispiel wird gezeigt, wie Sie eine Liste der beliebtesten YouTube-Videos abrufen. Diese werden mit einem Algorithmus ausgewählt, der viele verschiedene Signale kombiniert, um die allgemeine Beliebtheit zu bestimmen.

Rufen Sie die Methode videos.list auf und legen Sie für den Parameter chart den Wert mostPopular fest, um die Liste der beliebtesten Videos abzurufen. Die Liste mostPopular enthält beliebte Musik-, Film- und Gaming-Videos.

Optional können Sie die folgenden Parameter festlegen:

  • regionCode: weist die API an, eine Liste von Videos für die angegebene Region zurückzugeben. Der Parameterwert ist ein Ländercode gemäß ISO 3166-1 alpha-2. Mit der Methode i18nRegions.list können Sie eine Liste der von YouTube unterstützten Regionscodes abrufen.
  • videoCategoryId: gibt die Videokategorie an, für die die beliebtesten Videos abgerufen werden sollen. Mit der Methode videoCategories.list können Sie eine Liste der von YouTube unterstützten Kategorie-IDs abrufen.

Die folgende Anfrage ruft beispielsweise die beliebtesten Sportvideos in Spanien ab:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17
  

Batch-Videostatistiken abrufen

In diesem Beispiel werden Statistiken für eine Liste von Videos mit der Methode videos.batchGetStats abgerufen.

Legen Sie für den Parameter id der Anfrage eine durch Kommas getrennte Liste der YouTube-Video-IDs fest, für die Sie Statistiken abrufen möchten. Legen Sie für den Parameter part eine durch Kommas getrennte Liste der Teile der Ressource videoStat fest, die in der Antwort enthalten sein sollen. Die unterstützten Teile sind snippet, statistics, contentDetails und id.

Für die Verwendung dieser Methode für nicht öffentliche Videos ist eine Authentifizierung erforderlich, für öffentliche Videos jedoch nicht. Wenn die Anfrage Daten für nicht öffentliche Videos abruft, muss sie ordnungsgemäß autorisiert sein.

Die folgende Anfrage ruft Statistiken für die Video-IDs VIDEO_ID_1 und VIDEO_ID_2 ab:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.batchGetStats?
        part=snippet,statistics
        &id=VIDEO_ID_1,VIDEO_ID_2

Video hochladen

Da der APIs Explorer das Hochladen von Dateien nicht unterstützt, enthält diese Beschreibung keinen Link zu einem ausführbaren Beispiel. Die folgenden Ressourcen helfen Ihnen, Ihre Anwendung so zu ändern, dass sie Videos mit der v3 API hochladen kann:

  • Die Dokumentation zur Methode videos.insert der API enthält mehrere Codebeispiele, in denen erklärt wird, wie Sie ein Video mit verschiedenen Programmiersprachen hochladen.

  • Im Leitfaden zu fortsetzbaren Uploads wird die Sequenz von HTTP-Anfragen erläutert, die eine Anwendung verwendet, um Videos mit einem fortsetzbaren Uploadprozess hochzuladen. Der Leitfaden richtet sich in erster Linie an Entwickler, die die Google API-Clientbibliotheken nicht verwenden können. Einige davon bieten native Unterstützung für fortsetzbare Uploads.

  • Im JavaScript-Beispiel zum Hochladen eines Videos wird CORS (Cross-Origin Resource Sharing) verwendet, um zu zeigen, wie Sie eine Videodatei über eine Webseite hochladen. Die CORS-Uploadbibliothek, die von der v3 API verwendet wird, unterstützt von Natur aus fortsetzbare Uploads. Außerdem wird im Beispiel gezeigt, wie Sie den Status eines hochgeladenen Videos prüfen, indem Sie den Teil processingDetails der Ressource video abrufen, und wie Sie Statusänderungen für das hochgeladene Video verarbeiten.

Status eines hochgeladenen Videos prüfen

In diesem Beispiel wird gezeigt, wie Sie den Status eines hochgeladenen Videos prüfen. Ein hochgeladenes Video ist sofort im Feed der hochgeladenen Videos des authentifizierten Nutzers sichtbar. Das Video ist jedoch erst auf YouTube sichtbar, wenn es verarbeitet wurde.

  • Schritt 1: Video hochladen

    Rufen Sie die Methode videos.insert auf, um das Video hochzuladen. Wenn die Anfrage erfolgreich ist, enthält die API-Antwort eine Ressource video, die die eindeutige Video-ID für das hochgeladene Video angibt.

  • Schritt 2: Status des Videos prüfen

    Rufen Sie die Methode videos.list auf, um den Status des Videos zu prüfen. Legen Sie für den Parameter id die Video-ID fest, die Sie in Schritt 1 erhalten haben. Legen Sie für den Parameter part den Wert processingDetails fest.

    Wenn die Anfrage erfolgreich verarbeitet wurde, enthält die API-Antwort eine Ressource video. Prüfen Sie den Wert des Attributs processingDetails.processingStatus, um festzustellen, ob YouTube das Video noch verarbeitet. Der Wert des Attributs ändert sich in etwas anderes als processing, z. B. succeeded oder failed, wenn YouTube die Verarbeitung des Videos abgeschlossen hat.

    Der Anfragetext ist eine Ressource video, in der das Attribut id die Video-ID des Videos angibt, das Sie löschen. In diesem Beispiel enthält die Ressource auch ein Objekt recordingDetails.

    Die folgende Anfrage prüft den Status eines Videos. Um die Anfrage im APIs Explorer abzuschließen, müssen Sie den Wert des Attributs id festlegen.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

Hinweis:Ihre Anwendung kann die API abfragen, um den Status eines neu hochgeladenen Videos regelmäßig zu prüfen. Sobald das Video verarbeitet wurde, kann Ihre Anwendung eine Benachrichtigung erstellen oder eine andere Aktion ausführen, die vom Status des Videos abhängt.

Video aktualisieren

In diesem Beispiel wird gezeigt, wie Sie ein Video aktualisieren, um Informationen zum Zeitpunkt und Ort der Aufnahme hinzuzufügen. Das Beispiel besteht aus den folgenden Schritten:

  • Schritt 1: Video-ID abrufen

    Folgen Sie der Anleitung oben, um hochgeladene Videos abzurufen für den Kanal des aktuell authentifizierten Nutzers. Die Liste kann verwendet werden, um eine Liste von Videos anzuzeigen, wobei die ID jedes Videos als Schlüssel dient.

    Hinweis:Es gibt zahlreiche andere Möglichkeiten, Video-IDs zu erhalten, z. B. durch Abrufen von Suchergebnissen oder Auflisten von Elementen in einer Playlist. Da ein Video jedoch nur von seinem Inhaber aktualisiert werden kann, ist das Abrufen einer Liste von Videos, die dem Nutzer gehören, der die API-Anfrage autorisiert, wahrscheinlich der erste Schritt in diesem Prozess.

  • Schritt 2: Video aktualisieren

    Rufen Sie die Methode videos.update auf, um ein bestimmtes Video zu aktualisieren. Legen Sie für den Parameter part den Wert recordingDetails fest. Der Parameterwert hängt davon ab, welche Metadatenfelder des Videos aktualisiert werden.

    Der Anfragetext ist eine video Ressource, in der das Attribut id die Video-ID des Videos angibt, das Sie aktualisieren. In diesem Beispiel enthält die Ressource auch ein Objekt recordingDetails.

    Die folgende Beispielressource gibt an, dass das Video am 30. Oktober 2013 in Boston aufgenommen wurde:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    Um die Anfrage im APIs Explorer abzuschließen, müssen Sie den Wert des Attributs id festlegen.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

Benutzerdefiniertes Thumbnailbild hochladen und für ein Video festlegen

Mit der Methode thumbnails.set der v3 API können Sie ein benutzerdefiniertes Thumbnailbild hochladen und für ein Video festlegen. In Ihrer Anfrage gibt der Wert des Parameters videoId das Video an, für das das Thumbnail verwendet werden soll.

Diese Abfrage kann nicht mit dem APIs Explorer getestet werden, da der APIs Explorer das Hochladen von Mediendateien nicht unterstützt. Dies ist jedoch für diese Methode erforderlich.

Zugehörige Codebeispiele: PHP, Python

Video löschen

In diesem Beispiel wird gezeigt, wie Sie ein Video löschen. Das Beispiel besteht aus den folgenden Schritten:

  • Schritt 1: Video-ID abrufen

    Folgen Sie der Anleitung oben, um hochgeladene Videos abzurufen für den Kanal des aktuell authentifizierten Nutzers. Die Liste kann verwendet werden, um eine Liste von Videos anzuzeigen, wobei die ID jedes Videos als Schlüssel dient.

    Hinweis:Es gibt zahlreiche andere Möglichkeiten, Video-IDs zu erhalten, z. B. durch Abrufen von Suchergebnissen oder Auflisten von Elementen in einer Playlist. Da ein Video jedoch nur von seinem Inhaber gelöscht werden kann, ist das Abrufen einer Liste von Videos, die dem Nutzer gehören, der die API-Anfrage autorisiert, wahrscheinlich der erste Schritt in diesem Prozess.

  • Schritt 2: Video löschen

    Rufen Sie die Methode videos.delete auf, um ein bestimmtes Video zu löschen. In der Anfrage gibt der Parameter id die Video-ID des Videos an, das Sie löschen. Die Anfrage muss mit OAuth 2.0 autorisiert werden. Wenn Sie diese Abfrage im APIs Explorer testen, müssen Sie den Wert des Parameters id durch eine gültige Video-ID ersetzen.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Unangemessenes Video melden

In diesem Beispiel wird gezeigt, wie Sie ein Video melden, das missbräuchliche Inhalte enthält. Das Beispiel besteht aus den folgenden Schritten:

  • Schritt 1: IDs abrufen, die erklären, warum das Video gemeldet wird

    Senden Sie eine autorisierte Anfrage an die Methode videoAbuseReportReasons.list, um eine Liste gültiger Gründe für das Melden eines Videos abzurufen. Die folgende Beispielressource videoAbuseReportReason enthält Informationen zum Melden eines Videos, das Spam oder irreführende Inhalte enthält.

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

    Wie in der Ressource gezeigt, ist dieser Grund mit einer Liste sekundärer Gründe verknüpft. Wenn Sie ein Video melden, weil es Spam enthält, müssen Sie die ID für den Grund angeben. Es wird dringend empfohlen, auch einen sekundären Grund anzugeben.

  • Schritt 2: Video wegen missbräuchlicher Inhalte melden

    Senden Sie eine autorisierte Anfrage an die Methode videos.reportAbuse, um das Video tatsächlich zu melden. Der Anfragetext ist ein JSON-Objekt, das sowohl das gemeldete Video als auch den Grund für die Meldung angibt. Wie in Schritt 1 erwähnt, wird für einige Arten von Gründen ein sekundärer Grund unterstützt und dringend empfohlen.

    Das Attribut videoId des JSON-Objekts gibt das Video an, das gemeldet wird.

    Das folgende JSON-Beispielobjekt meldet ein Video, weil es Spam oder irreführende Inhalte enthält, und genauer gesagt, weil ein irreführendes Thumbnailbild verwendet wird. Wie im oben gezeigten JSON-Beispielobjekt ist die ID für Spam oder irreführende Inhalte S. Die ID für ein irreführendes Thumbnail ist 28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    Die Anfrage videos.reportAbuse muss mit OAuth 2.0 autorisiert werden. Über den folgenden Link wird das oben genannte JSON-Objekt im APIs Explorer geladen. Um die Abfrage zu testen, müssen Sie den Wert des Attributs videoId durch eine gültige Video-ID ersetzen. Beachten Sie, dass durch das Senden dieser Anfrage das Video tatsächlich gemeldet wird.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse