OAuth 2.0 für Dienstkonten verwenden

Hinweis: Die YouTube Content ID API ist für die Verwendung durch YouTube-Inhaltspartner vorgesehen und nicht für alle Entwickler oder YouTube-Nutzer zugänglich. Wenn die YouTube Content ID API nicht als einer der in der Google API Console aufgeführten Dienste angezeigt wird, findest du in der YouTube-Hilfe weitere Informationen zum YouTube-Partnerprogramm.

Hintergrund

Ein Dienstkonto ist ein Google-Konto, mit dem API-Aufrufe ohne Nutzerinteraktion autorisiert werden können. Im Gegensatz zu den anderen OAuth 2.0-Abläufen erfolgt die Authentifizierung und Autorisierung des Zugriffs mit OAuth 2.0 für Dienstkonten nicht über einen Webbrowser. Stattdessen nutzt OAuth 2.0 für Dienstkonten kryptografische Signaturen, um den Zugriff zu autorisieren. Solange Ihr Code Zugriff auf den zugrunde liegenden kryptografischen Schlüssel hat, kann er weiterhin API-Aufrufe ausführen, ohne sich um Aktualisierungs- und Zugriffstokens kümmern zu müssen. Sie eignet sich perfekt für automatisierte Anwendungen, die ohne menschliches Zutun auf Servern ausgeführt werden.

Du kannst jetzt den Vorgang „OAuth 2.0 für Dienstkonten“ verwenden, um Anfragen an die YouTube Content ID API zu autorisieren. Du kannst diesen Ablauf auch verwenden, um YouTube Data API- und YouTube Analytics API-Aufrufe für Methoden zu autorisieren, die Delegationsparameter unterstützen. In allen diesen Fällen autorisiert eine Anwendung, für die dieser Ablauf verwendet wird, die API-Anfrage als YouTube-Contentpartner (über ein YouTube CMS-Konto) und nicht als YouTube-Kanalinhaber.

Dienstkonto einrichten

Die folgenden Screenshots veranschaulichen, wie ein Dienstkonto erstellt wird, das mit deinem API-Projekt verknüpft ist. Du solltest dafür sorgen, dass die entsprechenden APIs (YouTube Data API Version 3, YouTube Analytics API, YouTube Content ID API usw.) bereits aktiviert sind.

  1. Rufen Sie https://cloud.google.com/console auf und wählen Sie Ihr vorhandenes API-Projekt aus oder erstellen Sie ein neues.
  2. Wählen Sie in der linken Seitenleiste APIs und Authentifizierung aus.
  3. Achte darauf, dass die YouTube Content ID API für dein Projekt aktiviert ist.
  4. Wählen Sie in der linken Seitenleiste Anmeldedaten aus.
  5. Klicken Sie auf die Schaltfläche Neue Client-ID erstellen.
  6. Wählen Sie Dienstkonto aus den aufgeführten Optionen aus und klicken Sie auf Client-ID erstellen. Der private Schlüssel für Ihr Dienstkonto wird auf Ihren Computer heruntergeladen. Dies ist die einzige Kopie des Schlüssels. Sie müssen ihn an einem sicheren Ort speichern, von dem Ihre App auslesen kann.
  7. Notieren Sie sich die E-Mail-Adresse für das Dienstkonto. Die E-Mail-Adresse wird auf der Seite Anmeldedaten angezeigt. Du benötigst die Adresse, um deinem Dienstkonto Zugriff auf dein YouTube CMS-Konto zu gewähren.
  8. Rufe https://www.youtube.com/content_owner_users auf und klicke auf die Schaltfläche Neuer Nutzer.
  9. Geben Sie die E-Mail-Adresse des Dienstkontos aus Schritt 7 in das Feld E-Mail-Adresse ein und wählen Sie die passende Rolle für den Nutzer aus. Klicken Sie dann auf die Schaltfläche Einladen.
  10. Dein Dienstkonto nimmt die Einladung automatisch an und über dieses Konto kannst du anschließend im Namen deines YouTube CMS-Kontos auf die YouTube-APIs zugreifen.
  11. Folgen Sie der Anleitung für den OAuth 2.0-Dienstkonto-Vorgang im Leitfaden Anfragen autorisieren, um Anfragen über Ihr Dienstkonto zu autorisieren.

API-Aufrufe ausführen

Die Clientbibliotheken der meisten Sprachen bieten native Unterstützung für den Ablauf von OAuth 2.0 für Dienstkonten. Du solltest die Beispiele in der Dokumentation der Bibliothek befolgen können, um eine grundlegende Autorisierung mit den entsprechenden YouTube API-Bereichen durchzuführen.

Am wichtigsten ist, dass du die entsprechenden Delegierungsparameter verwenden musst, um im Namen eines bestimmten Kanals zu handeln, der mit deinem CMS-Konto verknüpft ist. Eine Liste der Kanäle, die mit deinem CMS-Konto verknüpft sind, findest du unter https://cms.youtube.com/edit_user_accounts.