Implementierung: Videos

In den folgenden Beispielen wird gezeigt, wie du mit der YouTube Data API (Version 3) Funktionen ausführen kannst, die sich auf Videos beziehen.

Hochgeladene Videos eines Kanals abrufen

In diesem Beispiel werden die auf einen bestimmten Kanal hochgeladenen Videos abgerufen. Das Beispiel umfasst zwei Schritte:

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

Wenn du die Liste der beliebtesten Videos abrufen möchtest, rufe die Methode videos.list auf und setze den Wert des Parameters chart auf mostPopular. Beim Abrufen dieser Liste können Sie auch einen oder beide der folgenden Parameter festlegen:

  • regionCode: Hiermit wird die API angewiesen, eine Liste von Videos für die angegebene Region zurückzugeben.
  • videoCategoryId: Gibt die Videokategorie an, für die die beliebtesten Videos abgerufen werden sollen.

Mit der folgenden Anfrage werden die beliebtesten Sportvideos in Spanien abgerufen:

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

Video hochladen

Da der API-Explorer das Hochladen von Dateien nicht unterstützt, enthält diese Beschreibung keinen Link zu einem ausführbaren Beispiel. Mit den folgenden Ressourcen kannst du deine Anwendung so ändern, dass sie Videos mit der V3 API hochladen kann:

  • Die Dokumentation für die Methode videos.insert der API enthält mehrere Codebeispiele, die zeigen, wie ein Video in verschiedenen Programmiersprachen hochgeladen wird.

  • Im Leitfaden zu fortsetzbaren Uploads wird die Abfolge der HTTP-Anfragen beschrieben, 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 dieser Bibliotheken 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 eine Videodatei über eine Webseite hochgeladen wird. Die CORS-Uploadbibliothek, die von der Version 3 der API verwendet wird, unterstützt natürlich das fortgesetzte Hochladen. Außerdem wird gezeigt, wie du den Status eines hochgeladenen Videos über den Abruf des processingDetails-Teils der video-Ressource prüfen und wie du Statusänderungen für das hochgeladene Video handhaben kannst.

Status eines hochgeladenen Videos prüfen

In diesem Beispiel wird gezeigt, wie du den Status eines hochgeladenen Videos prüfen kannst. Ein hochgeladenes Video ist sofort im Feed mit den hochgeladenen Videos des authentifizierten Nutzers sichtbar. Das Video ist jedoch erst nach der Verarbeitung auf YouTube sichtbar.

  • Schritt 1: Video hochladen

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

  • Schritt 2: Status des Videos prüfen

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

    Wenn die Anfrage erfolgreich verarbeitet wurde, enthält die API-Antwort eine video-Ressource. Prüfe den Wert der Property processingDetails.processingStatus, um festzustellen, ob YouTube das Video noch verarbeitet. Sobald die Verarbeitung des Videos durch YouTube abgeschlossen ist, ändert sich der Wert des Attributs von processing in einen anderen Wert, z. B. succeeded oder failed.

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

    Mit der folgenden Anfrage wird der Status eines Videos geprüft. Um die Anfrage im APIs Explorer abzuschließen, müssen Sie den Wert der Property id festlegen.

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

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

Video aktualisieren

In diesem Beispiel wird gezeigt, wie Sie ein Video aktualisieren, um Informationen zum Zeitpunkt und Ort der Aufnahme hinzuzufügen. Das Beispiel umfasst die folgenden Schritte:

  • Schritt 1: Video-ID abrufen

    Folge der Anleitung oben, um hochgeladene Videos für den Kanal des aktuell authentifizierten Nutzers abzurufen. Mit der Liste kann eine Liste von Videos angezeigt werden, wobei die ID jedes Videos als Schlüssel verwendet wird.

    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 der erste Schritt in diesem Prozess wahrscheinlich das Abrufen einer Liste der Videos, deren Inhaber der Nutzer ist, der die API-Anfrage autorisiert.

  • Schritt 2: Video aktualisieren

    Rufe 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 du aktualisierst. In diesem Beispiel enthält die Ressource auch ein recordingDetails-Objekt.

    Die Beispielressource unten 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 der Property id festlegen.

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

Benutzerdefiniertes Thumbnail-Bild hochladen und für ein Video festlegen

Mit der thumbnails.set-Methode der V3 API kannst du ein benutzerdefiniertes Thumbnail-Bild hochladen und für ein Video festlegen. In deiner 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, was für diese Methode erforderlich ist.

Ähnliche Codebeispiele: PHP, Python

Video löschen

In diesem Beispiel wird gezeigt, wie ein Video gelöscht wird. Das Beispiel umfasst die folgenden Schritte:

  • Schritt 1: Video-ID abrufen

    Folge der Anleitung oben, um hochgeladene Videos für den Kanal des aktuell authentifizierten Nutzers abzurufen. Mit der Liste kann eine Liste von Videos angezeigt werden, wobei die ID jedes Videos als Schlüssel verwendet wird.

    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 der erste Schritt in diesem Prozess wahrscheinlich das Abrufen einer Liste der Videos, deren Inhaber der Nutzer ist, der die API-Anfrage autorisiert.

  • Schritt 2: Video löschen

    Rufe die Methode videos.delete auf, um ein bestimmtes Video zu löschen. In der Anfrage wird mit dem Parameter id die Video-ID des Videos angegeben, das du löschst. Die Anfrage muss mit OAuth 2.0 autorisiert sein. Wenn du diese Abfrage in APIs Explorer testest, musst du den Parameterwert id durch eine gültige Video-ID ersetzen.

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

Missbräuchliches Video melden

In diesem Beispiel wird gezeigt, wie du ein Video mit missbräuchlichen Inhalten melden kannst. Das Beispiel umfasst die folgenden Schritte:

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

    Sende eine autorisierte Anfrage an die videoAbuseReportReasons.list-Methode, um eine Liste der gültigen Gründe für die Meldung eines Videos abzurufen. Die Beispielressource videoAbuseReportReason unten enthält Informationen dazu, wie Sie ein Video melden können, 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 zu sehen, ist dieser Grund mit einer Liste sekundärer Gründe verknüpft. Wenn du ein Video wegen Spam meldest, musst du die ID für den Grund angeben. Wir empfehlen dir, auch einen sekundären Grund anzugeben.

  • Schritt 2: Video wegen missbräuchlicher Inhalte melden

    Sende eine autorisierte Anfrage an die videos.reportAbuse-Methode, um das Video 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 bei einigen Arten von Gründen ein sekundärer Grund unterstützt und dringend empfohlen.

    Mit dem Attribut videoId des JSON-Objekts wird das gemeldete Video angegeben.

    Im Beispiel-JSON-Objekt unten wird ein Video wegen Spam oder irreführender Inhalte gemeldet, genauer gesagt wegen eines irreführenden Thumbnails. Wie im Beispiel-JSON-Objekt oben zu sehen, lautet die ID für Spam oder irreführende Inhalte S. Die ID für ein irreführendes Thumbnail lautet 28.

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

    Die videos.reportAbuse-Anfrage muss mit OAuth 2.0 autorisiert werden. Über den Link unten wird das JSON-Objekt oben im APIs Explorer geladen. Wenn Sie die Abfrage testen möchten, müssen Sie den Property-Wert „videoId“ durch eine gültige Video-ID ersetzen. Beachte bitte, dass das Video durch das Senden dieser Anfrage gemeldet wird.

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