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 ParametercreatedAfter
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 ParameterstartTimeBefore
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
undendTime
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 ParametercreatedAfter
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 Methodereports.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
undendTime
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
- undendTime
-Eigenschaftswerte haben, importieren Sie nur den Bericht mit dem neuerencreateTime
-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.