YouTube automatycznie generuje zestaw raportów o przychodach z reklam zarządzanych przez system dla właścicieli treści, którzy mają dostęp do odpowiednich raportów w Studio twórców. Raporty te zapewniają programowy dostęp do danych, które są też dostępne w raportach do pobrania ręcznie w menu Raporty w Studiu twórców YouTube.
Uwaga: interfejs API zapewnia dostęp do innego zestawu raportów niż Studio twórców, chociaż raporty zawierają podobne dane. Raporty interfejsu API mogą zawierać inne pola i używać innych nazw pól niż raporty w YouTube Studio.
YouTube automatycznie generuje raporty zarządzane przez system, dlatego proces pobierania tych raportów różni się od procesu pobierania raportów z dużą ilością danych Statystyk YouTube dostępnych za pomocą interfejsu API.
Pobieranie raportów
Poniżej znajdziesz instrukcje pobierania raportów zarządzanych przez system za pomocą interfejsu API.
Krok 1. Pobierz dane logowania autoryzacji
Wszystkie żądania do interfejsu YouTube Reporting API muszą być autoryzowane. W przewodniku po autoryzacji znajdziesz informacje o tym, jak używać protokołu OAuth 2.0 do pobierania tokenów autoryzacji.
Żądania do interfejsu YouTube Reporting API używają tych zakresów autoryzacji:
Zakresy | |
---|---|
https://www.googleapis.com/auth/yt-analytics.readonly | Wyświetlanie raportów Statystyk YouTube dotyczących treści w YouTube. Ten zakres zapewnia dostęp do danych o aktywności użytkowników, takich jak liczba wyświetleń i ocen. |
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | Wyświetlanie raportów finansowych Statystyk YouTube dotyczących treści w YouTube. Ten zakres zapewnia dostęp do danych o aktywności użytkowników oraz do szacunkowych danych o przychodach i skuteczności reklam. |
Krok 2. Pobierz identyfikator zadania dla wybranego raportu
Aby pobrać listę zadań zarządzanych przez system, wywołaj metodę jobs.list
. Ustaw parametr includeSystemManaged
na true
.
Właściwość reportTypeId
w każdym zwróconym zasobie Job
identyfikuje typ raportu zarządzanego przez system, który jest powiązany z tym zadaniem. W następnym kroku aplikacja będzie potrzebować wartości właściwości id
z tego samego zasobu.
Dokument Raporty zawiera listę dostępnych raportów, ich identyfikatory typu raportu i pola, które zawierają. Możesz też użyć metody reportTypes.list
, aby pobrać listę obsługiwanych typów raportów.
Krok 3. Pobierz adres URL pobierania raportu
Wywołaj metodę jobs.reports.list
, aby pobrać listę raportów utworzonych dla zadania. W żądaniu ustaw parametr jobId
na identyfikator zadania raportu, który chcesz pobrać.
Listę raportów możesz filtrować za pomocą dowolnych lub wszystkich z tych parametrów:
-
Użyj parametru
createdAfter
, aby wskazać, że interfejs API ma zwracać tylko raporty utworzone po określonym czasie. Ten parametr może służyć do zapewnienia, że interfejs API zwraca tylko raporty, które nie zostały jeszcze przez Ciebie przetworzone. -
Użyj parametru
startTimeBefore
, aby wskazać, że odpowiedź interfejsu API powinna zawierać tylko raporty, w których najwcześniejsze dane pochodzą sprzed określonej daty. ParametrcreatedAfter
odnosi się do czasu utworzenia raportu, a ta data dotyczy danych w raporcie. -
Użyj parametru
startTimeAtOrAfter
, aby wskazać, że odpowiedź interfejsu API powinna zawierać tylko raporty, w których najwcześniejsze dane pochodzą z określonej daty lub są późniejsze. Podobnie jak parametrstartTimeBefore
, wartość tego parametru odpowiada danym w raporcie, a nie czasowi jego utworzenia.
Odpowiedź interfejsu API zawiera listę zasobów Report
dla tego zadania. Każdy zasób odnosi się do raportu, który zawiera dane z unikalnego okresu.
- Właściwości
startTime
iendTime
zasobu określają okres, którego dotyczą dane w raporcie. - Właściwość
downloadUrl
zasobu określa adres URL, z którego można pobrać raport. - Właściwość
createTime
zasobu określa datę i godzinę wygenerowania raportu. Aplikacja powinna przechowywać tę wartość i używać jej do określania, czy wcześniej pobrane raporty uległy zmianie.
Krok 4. Pobierz raport
Aby pobrać raport, wyślij żądanie HTTP GET do adresu URL downloadUrl
uzyskanego w kroku 4.
Raporty przetwarzania
Sprawdzone metody
Aplikacje korzystające z interfejsu YouTube Reporting API powinny zawsze postępować zgodnie z tymi zasadami:
-
Aby określić kolejność kolumn w raporcie, użyj wiersza nagłówka raportu. Nie zakładaj na przykład, że wyświetlenia będą pierwszymi danymi zwróconymi w raporcie tylko dlatego, że są pierwszymi danymi wymienionymi w jego opisie. Zamiast tego użyj wiersza nagłówka raportu, aby określić, która kolumna zawiera te dane.
-
Zapisuj informacje o pobranych raportach, aby uniknąć wielokrotnego przetwarzania tego samego raportu. Poniżej znajdziesz kilka sposobów, jak to zrobić.
-
Podczas wywoływania metody
reports.list
użyj parametru createdAfter, aby pobierać tylko raporty utworzone po określonej dacie. (Przy pierwszym pobieraniu raportów pomiń parametrcreatedAfter
).Za każdym razem, gdy pobierzesz i przetworzysz raporty, zapisz sygnaturę czasową odpowiadającą dacie i godzinie utworzenia najnowszego z nich. Następnie aktualizuj wartość parametru
createdAfter
w każdym kolejnym wywołaniu metodyreports.list
, aby za każdym razem, gdy wywołujesz interfejs API, pobierać tylko nowe raporty, w tym nowe raporty z danymi uzupełnionymi wstecznie.Aby się zabezpieczyć, przed pobraniem raportu sprawdź, czy jego identyfikator nie jest już wymieniony w Twojej bazie danych.
-
Zapisz identyfikator każdego pobranego i przetworzonego raportu. Możesz też przechowywać dodatkowe informacje, takie jak data i godzina wygenerowania każdego raportu lub jego
startTime
iendTime
, które razem określają okres, za który raport zawiera dane. W przypadku raportów, które pobierają dane zbiorcze ze Statystyk YouTube, każde zadanie będzie prawdopodobnie zawierać wiele raportów, ponieważ każdy z nich zawiera dane z 24-godzinnego okresu. W przypadku zadań zarządzanych przez system, które obejmują dłuższe okresy, będzie dostępnych mniej raportów.Użyj identyfikatora raportu, aby zidentyfikować raporty, które musisz jeszcze pobrać i zaimportować. Jeśli jednak 2 nowe raporty mają te same wartości właściwości
startTime
iendTime
, zaimportuj tylko raport z nowszą wartościącreateTime
.
-
Charakterystyka raportu
Raporty interfejsu API to pliki .csv
(z wartościami rozdzielonymi przecinkami) z wersjami, które mają te cechy:
-
Każdy raport zawiera dane z unikalnego okresu, który trwa od godziny 00:00 czasu pacyficznego w dniu rozpoczęcia raportu do godziny 23:59 czasu pacyficznego w dniu zakończenia raportu.
-
Dane w raporcie nie są posortowane.