YouTube Reporting API - Get Bulk Data Reports

YouTube generiert automatisch eine Reihe von systemverwalteten Berichten zu Werbeeinnahmen für Rechteinhaber, die in YouTube Studio Zugriff auf die entsprechenden Berichte haben. Diese Berichte bieten programmatischen Zugriff auf Daten, die auch in manuell herunterladbaren Berichten im Menü „Berichte“ von YouTube Studio verfügbar sind.

Hinweis:Die API bietet Zugriff auf andere Berichte als Creator Studio. Die Berichte enthalten jedoch ähnliche Daten. API-Berichte können andere Felder und Feldnamen als Creator Studio-Berichte enthalten.

Da YouTube automatisch von Systemen verwaltete Berichte generiert, unterscheidet sich das Verfahren zum Abrufen dieser Berichte von dem für die YouTube Analytics-Bulk-Datenberichte, die über die API verfügbar sind.

Berichte abrufen

In den folgenden Schritten wird beschrieben, wie Sie systemverwaltete Berichte über die API abrufen.

Schritt 1: Autorisierungsanmeldedaten abrufen

Alle YouTube Reporting API-Anfragen müssen autorisiert sein. Im Autorisierungsleitfaden wird beschrieben, wie Sie mit dem OAuth 2.0-Protokoll Autorisierungstokens abrufen.

Für YouTube Reporting API-Anfragen werden die folgenden Autorisierungsbereiche verwendet:

Ebenen
https://www.googleapis.com/auth/yt-analytics.readonly YouTube Analytics-Berichte für deine YouTube-Inhalte ansehen Dieser Bereich bietet Zugriff auf Messwerte zur Nutzeraktivität wie Aufruf- und Bewertungszahlen.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly YouTube Analytics-Finanzberichte für deine YouTube-Inhalte abrufen Dieser Bereich bietet Zugriff auf Messwerte zur Nutzeraktivität sowie auf geschätzte Umsatz- und Anzeigenleistungsmesswerte.

Schritt 2: Job-ID für den gewünschten Bericht abrufen

Rufen Sie die Methode jobs.list auf, um eine Liste der vom System verwalteten Jobs abzurufen. Setzen Sie den Parameter includeSystemManaged auf true.

Die reportTypeId-Property in jeder zurückgegebenen Job-Ressource gibt den Typ des vom System verwalteten Berichts an, der mit diesem Job verknüpft ist. Ihre Anwendung benötigt den Wert des Attributs id aus derselben Ressource im nächsten Schritt.

Im Dokument Berichte sind die verfügbaren Berichte, ihre Berichtstyp-IDs und die Felder aufgeführt, die sie enthalten. Sie können auch mit der Methode reportTypes.list eine Liste der unterstützten Berichtstypen abrufen.

Schritt 3: Download-URL des Berichts abrufen

Rufen Sie die Methode jobs.reports.list auf, um eine Liste der für den Job erstellten Berichte abzurufen. Legen Sie in der Anfrage den Parameter jobId auf die Job-ID des Berichts fest, den Sie abrufen möchten.

Sie können die Liste der Berichte mit einem oder mehreren der folgenden Parameter filtern:

  • Mit dem Parameter createdAfter können Sie angeben, dass die API nur Berichte zurückgeben soll, die nach einem bestimmten Zeitpunkt erstellt wurden. Mit diesem Parameter können Sie dafür sorgen, dass die API nur Berichte zurückgibt, die Sie noch nicht verarbeitet haben.

  • Mit dem Parameter startTimeBefore können Sie angeben, dass die API-Antwort nur Berichte enthalten soll, wenn die frühesten Daten im Bericht vor dem angegebenen Datum liegen. Der Parameter createdAfter bezieht sich auf den Zeitpunkt, zu dem der Bericht erstellt wurde. Dieses Datum bezieht sich auf die Daten im Bericht.

  • Mit dem Parameter startTimeAtOrAfter geben Sie an, dass die API-Antwort nur Berichte enthalten soll, wenn die frühesten Daten im Bericht am oder nach dem angegebenen Datum liegen. Wie beim Parameter startTimeBefore entspricht dieser Parameterwert den Daten im Bericht und nicht dem Zeitpunkt, zu dem der Bericht erstellt wurde.

Die API-Antwort enthält eine Liste der Report-Ressourcen für diesen Job. Jede Ressource verweist auf einen Bericht, der Daten für einen bestimmten Zeitraum enthält.

  • Die Eigenschaften startTime und endTime der Ressource geben den Zeitraum an, für den die Daten des Berichts gelten.
  • Die downloadUrl-Property der Ressource gibt die URL an, über die der Bericht abgerufen werden kann.
  • In der createTime-Eigenschaft der Ressource wird das Datum und die Uhrzeit angegeben, zu der der Bericht generiert wurde. Ihre Anwendung sollte diesen Wert speichern und damit feststellen, ob sich zuvor heruntergeladene Berichte geändert haben.

Schritt 4: Bericht herunterladen

Senden Sie eine HTTP/GET-Anfrage an die in Schritt 4 abgerufene downloadUrl, um den Bericht abzurufen.

Berichte verarbeiten

Best Practices

Anwendungen, die die YouTube Reporting API verwenden, sollten immer die folgenden Best Practices einhalten:

  • Anhand der Kopfzeile eines Berichts können Sie die Reihenfolge der Spalten des Berichts bestimmen. Gehen Sie beispielsweise nicht davon aus, dass Aufrufe der erste Messwert ist, der in einem Bericht zurückgegeben wird, nur weil er der erste Messwert ist, der in einer Berichtsbeschreibung aufgeführt wird. Verwenden Sie stattdessen die Kopfzeile des Berichts, um zu ermitteln, in welcher Spalte diese Daten enthalten sind.

  • Führen Sie eine Liste der heruntergeladenen Berichte, um zu vermeiden, dass Sie denselben Bericht wiederholt verarbeiten. In der folgenden Liste finden Sie einige Vorschläge.

    • Verwenden Sie beim Aufrufen der Methode reports.list den Parameter createdAfter, um nur Berichte abzurufen, die nach einem bestimmten Datum erstellt wurden. Lassen Sie den Parameter createdAfter beim ersten Abrufen von Berichten weg.

      Speichern Sie jedes Mal, wenn Sie Berichte abrufen und erfolgreich verarbeiten, den Zeitstempel, der dem Datum und der Uhrzeit entspricht, als der neueste dieser Berichte erstellt wurde. Aktualisieren Sie dann den Parameterwert createdAfter bei jedem nachfolgenden Aufruf der Methode reports.list, damit Sie bei jedem API-Aufruf nur neue Berichte abrufen, einschließlich neuer Berichte mit nachgetragenen Daten.

      Prüfen Sie zur Sicherheit vor dem Abrufen eines Berichts, ob die ID des Berichts bereits in Ihrer Datenbank aufgeführt ist.

    • Speichern Sie die ID für jeden Bericht, den Sie heruntergeladen und verarbeitet haben. Sie können auch zusätzliche Informationen wie Datum und Uhrzeit speichern, zu denen die einzelnen Berichte generiert wurden, oder die startTime und endTime des Berichts, die zusammen den Zeitraum angeben, für den der Bericht Daten enthält. Bei Berichten, in denen Massendaten für YouTube Analytics abgerufen werden, enthält jeder Job wahrscheinlich viele Berichte, da jeder Bericht Daten für einen Zeitraum von 24 Stunden enthält. Bei systemverwalteten Jobs, die längere Zeiträume abdecken, sind weniger Berichte verfügbar.

      Anhand der Berichts-ID können Sie Berichte identifizieren, die Sie noch herunterladen und importieren müssen. Wenn zwei neue Berichte jedoch dieselben startTime- und endTime-Eigenschaftswerte haben, importieren Sie nur den Bericht mit dem neueren createTime-Wert.

Berichtseigenschaften

API-Berichte sind versionierte .csv-Dateien (kommagetrennte Werte) mit den folgenden Merkmalen:

  • Jeder Bericht enthält Daten für einen eindeutigen Zeitraum, der am Startdatum des Berichts um 00:00 Uhr (Pacific Time) beginnt und am Enddatum des Berichts um 23:59 Uhr (Pacific Time) endet.

  • Die Berichtsdaten sind nicht sortiert.