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 auf einen bestimmten Kanal hochgeladenen Videos abgerufen. Das Beispiel umfasst zwei Schritte:

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

Rufen Sie die Methode videos.list auf und legen Sie den Wert des Parameters chart auf mostPopular fest, um die Liste der beliebtesten Videos abzurufen. Die mostPopular-Charts enthalten angesagte Musik-, Film- und Gaming-Videos.

Anschließend können Sie optional die folgenden Parameter festlegen:

  • regionCode: Weist die API an, eine Liste von Videos für die angegebene Region zurückzugeben. Der Parameterwert ist ein ISO 3166-1 Alpha-2-Ländercode. 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.

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

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

Video hochladen

Da im APIs Explorer keine Dateien hochgeladen werden können, wird in dieser Beschreibung nicht auf ein ausführbares Beispiel verlinkt. Die folgenden Ressourcen helfen Ihnen dabei, Ihre Anwendung so zu ändern, dass Videos über die v3-API hochgeladen werden können:

  • Die Dokumentation zur videos.insert-Methode der API enthält mehrere Codebeispiele, in denen erklärt wird, wie du ein Video in verschiedenen Programmiersprachen hochlädst.

  • Im Leitfaden Fortsetzbare Uploads wird die Abfolge von HTTP-Anfragen beschrieben, die eine Anwendung verwendet, um Videos über einen fortsetzbaren Uploadprozess hochzuladen. Der Leitfaden ist in erster Linie für Entwickler gedacht, die die Google API-Clientbibliotheken nicht verwenden können. Einige von ihnen bieten native Unterstützung für fortsetzbare Uploads.

  • Im JavaScript-Beispiel für das Hochladen eines Videos wird CORS (Cross-Origin Resource Sharing) verwendet, um zu zeigen, wie eine Videodatei über eine Webseite hochgeladen wird. Die CORS-Upload-Bibliothek, die von der v3-API verwendet wird, unterstützt das fortsetzbare Hochladen. Außerdem wird im Beispiel gezeigt, wie der Status eines hochgeladenen Videos abgerufen wird, indem der processingDetails-Teil der video-Ressource abgerufen wird, und wie Statusänderungen für das hochgeladene Video verarbeitet werden.

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 video-Ressource, die die eindeutige Video-ID für das hochgeladene Video angibt.

  • Schritt 2: Videostatus prüfen

    Rufen Sie die Methode videos.list auf, um den Status des Videos zu prüfen. Legen Sie den Wert des Parameters id auf 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 wird, enthält die API-Antwort eine video-Ressource. Prüfe den Wert des Attributs processingDetails.processingStatus, um festzustellen, ob YouTube das Video noch verarbeitet. Der Wert der Property ändert sich in etwas anderes als processing, z. B. succeeded oder failed, wenn YouTube die Verarbeitung des Videos abgeschlossen hat.

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

    Mit der folgenden Anfrage wird der Status eines Videos geprüft. Damit die Anfrage im APIs Explorer abgeschlossen werden kann, 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 je nach Status des Videos ein Bulletin 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. Die Liste könnte 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 abzurufen, z. B. durch Abrufen von Suchergebnissen oder Auflisten von Elementen in einer Playlist. Da ein Video jedoch nur vom 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 mit dem Attribut id die Video-ID des Videos angegeben wird, das Sie aktualisieren. 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"
      }
    }

    Damit die Anfrage im APIs Explorer abgeschlossen werden kann, 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 kannst du 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 wird.

Diese Anfrage kann nicht mit dem APIs Explorer getestet werden, da der APIs Explorer das Hochladen von Media-Dateien 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 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. Die Liste könnte 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 abzurufen, z. B. durch Abrufen von Suchergebnissen oder Auflisten von Elementen in einer Playlist. Da ein Video jedoch nur von seinem Eigentümer 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. Im Antrag wird mit dem Parameter id die Video-ID des Videos angegeben, 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 Parameterwert id durch eine gültige Video-ID ersetzen.

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

Unangemessene Videos melden

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

  • 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 der gültigen Gründe für das Melden eines Videos abzurufen. Die Beispielressource videoAbuseReportReason unten 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 zu sehen ist, ist dieser Grund mit einer Liste sekundärer Gründe verknüpft. Wenn du ein Video als Spam markierst, musst du 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 Video, das gemeldet wird, 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.

    Im folgenden Beispiel-JSON-Objekt wird ein Video als Spam oder irreführender Inhalt gekennzeichnet, insbesondere weil ein irreführendes Thumbnail 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 videos.reportAbuse-Anfrage muss mit OAuth 2.0 autorisiert werden. Über den folgenden Link wird das JSON-Objekt oben in APIs Explorer geladen. Um die Abfrage zu testen, müssen Sie den Eigenschaftswert videoId durch eine gültige Video-ID ersetzen. Bitte beachte, dass das Video durch das Senden dieses Antrags tatsächlich gemeldet wird.

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