Uwaga: interfejs YouTube Content ID API jest przeznaczony dla dostawców treści w YouTube i nie jest dostępny dla wszystkich deweloperów ani użytkowników YouTube. Jeśli nie widzisz interfejsu YouTube Content ID API na liście usług wymienionych w Konsoli interfejsów API Google, odwiedź Centrum pomocy YouTube, aby dowiedzieć się więcej o programie partnerskim YouTube.
Na tej stronie znajdziesz informacje o zmianach w interfejsie YouTube Content ID API oraz aktualizacjach dokumentacji.
10 listopada 2023 r.
Pole adFormats[]
zasobu videoAdvertisingOption
zostało zaktualizowane – jedyna prawidłowa wartość to third_party_ads
. Te formaty reklam nie są już obsługiwane: instream_trueview
, instream_standard
, display
, preroll
, postroll
. Więcej informacji znajdziesz w artykule pomocy.
1 czerwca 2023 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Ta aktualizacja wprowadza te zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Pole
breakPosition[]
zasobuvideoAdvertisingOption
zostało oznaczone jako wycofane i zostanie usunięte w 2024 roku.
MetodyvideoAdvertisingOptions.update
ivideoAdvertisingOptions.patch
już ignorują to pole. - Pole
adBreaks[].slot[]
zasobuvideoAdvertisingOption
zostało usunięte. - Wycofane pola
category
ishowCustomId
zasobuasset
zostały usunięte. - Pole
timeStatusLastModified
nowego zasobuclaim
zawiera czas ostatniej modyfikacji żądania. - Parametr
isVideoShortsEligible
nowej metodyclaimSearch.list
może służyć do filtrowania filmów objętych roszczeniem według ich kwalifikujących się do korzystania z YouTube Shorts.
-
Pole
-
Nowe zasoby i metody
-
Interfejs API obsługuje teraz wyświetlanie listy zasobów YouTube Music:
- Zasoby (
musicRelease
) można wyświetlić za pomocą metodymusicReleases.list
. - Zasoby (
musicTrack
) można wyświetlić za pomocą metodymusicTracks.list
. - Zasoby (
musicChangeRequest
) można wyświetlić za pomocą metodymusicChangeRequests.list
.
- Zasoby (
-
Interfejs API obsługuje teraz wyświetlanie listy zasobów YouTube Music:
20 grudnia 2022 r.
Zaktualizowaliśmy definicję parametru zapytania ownershipRestriction
metody assetSearch.list
, aby doprecyzować, że jeśli jego wartość to none
, wartość parametru metadataSearchFields
musi też zawierać co najmniej 1 filtr identyfikatora.
Ta zmiana w dokumentacji nie odzwierciedla zmiany w działaniu interfejsu API.
9 listopada 2022 r.
Zaktualizowaliśmy dokumentację metod asset.get
i asset.list
, aby wyjaśnić, jak obsługujemy wiele wartości w przypadku tych metod:
28 września 2022 r.
Informacje o możliwości licencjonowania zostały dodane do: asset resource
.
18 lipca 2022 r.
Dokumentacja właściwości inactiveReasons
metody claimSearch.list
została zaktualizowana, aby odzwierciedlać ulepszenia w zakresie spójności z YouTube Studio:
- Studio wycofało wcześniej obsługę wersji
Audio Swap
iSong Erase
. Odpowiednie wartości interfejsu API (audio_removed
isong_erased
) zostały dyskretnie zignorowane i nie są już udokumentowane. - Pole
channel_whitelisted
zostało zastąpione przezchannel_allowlisted
. Poprzednia wartość nie jest już dokumentowana, ale nadal jest obsługiwana. - Obsługiwane są teraz wartości
closed_disabled_monetization
,closed_manually
,closed_no_adsense
,closed_own_video_match
,reference_removed
,replaced
ivideo_modified
.
14 czerwca 2022 r.
Dokumentacja zasobów assetSearch
została zaktualizowana, aby uwzględniała 2 nowe właściwości: isrcs[]
i iswcs[]
. Każda nowa wartość właściwości isrcs[]
i iswcs[]
zawiera tablicę wartości ciągu znaków, przy czym każda z nich określa kod ISRC lub ISWC mapowany na zasób wskazany w wynikach wyszukiwania.
Nowe właściwości są zalecane zamiast usług isrc
i iswc
zawartych już w zasobach assetSearch
, ponieważ zapewniają one dokładniejsze dane. Podczas gdy nowe właściwości mogą zawierać tablicę wartości ciągów znaków, właściwości isrc
i iswc
identyfikują tylko 1 kod ISRC lub ISWC powiązany z wynikiem wyszukiwania.
12 maja 2022 r.
Linki do bibliotek klienta zostały zaktualizowane, aby wskazywały standardowe biblioteki klienta interfejsów API Google. Zaktualizowano wstępnie wygenerowane wiązania dla PHP.
3 maja 2022 r.
Parametr status
metody claimSearch.list
obsługuje teraz więcej filtrów na podstawie szczegółów potencjalnych roszczeń.
2 maja 2022 r.
Dokumentacja odpowiedzi metody assetSearch.list
została zaktualizowana, aby uwzględnić ulepszenia w zakresie spójności z AIP-158:
- Opis właściwości
pageInfo.totalResults
wyraźnie stwierdza, że wartość jest wartością szacunkową, a nie rzeczywistą. - Pola
pageInfo.resultsPerPage
ipageInfo.startIndex
zostały usunięte
25 kwietnia 2022 r.
Dokumentacja zasobu assetLabels.list
została zaktualizowana, aby wyjaśnić znaczenie parametrów żądań labelPrefix
i q
oraz udokumentować, że żądanie / odpowiedź obsługuje podział na strony.
8 grudnia 2021 r.
Dokumentacja zasobu claimSearch.list
została zaktualizowana, aby odpowiednio odzwierciedlała 2 przypadki użycia stosowane przez tę metodę:
- Wyszukaj według identyfikatora (zasobu, odwołania lub filmu) albo ciągu zapytania
- Szukaj według daty utworzenia, daty modyfikacji lub stanu roszczenia
Każdy przypadek użycia obsługuje inny zestaw parametrów zapytania. Dokumentacja metody claimSearch.list
została zaktualizowana, aby wyjaśnić, które parametry są obsługiwane w poszczególnych przypadkach użycia.
17 listopada 2021 r.
Ta aktualizacja wprowadza te zmiany:
- Metoda
claims.update
umożliwia teraz zmianę stanu nieaktywnego lub potencjalnego roszczenia naactive
. Więcej informacji zawiera definicja właściwościstatus
zasobuclaim
. - Dokumentacja zasobów
claim
iclaimSearch
została zaktualizowana, aby odzwierciedlić dodanie nowego obiektustudioInfo
, który zawiera linki do stron w YouTube Studio związanych z roszczeniem. - Lista wartości obsługiwanych przez parametr
origin
metodyclaimSearch.list
uległa zmianie. Ten parametr obsługuje teraz 4 dodatkowe wartości:batchTool
,inProductShorts
,melodyMatch
iyouTubeAdmin
. Dodatkowo wartościdropboxUpload
iwebUpload
nie są już obsługiwane.
26 lutego 2021 r.
Dokumentacja parametru videoId
metody claimSearch.list
została zaktualizowana, aby zaznaczyć, że jego wartość może teraz zawierać maksymalnie 10 identyfikatorów filmów rozdzielonych przecinkami. Interfejs API zwróci błąd badRequest
– kod odpowiedzi HTTP 400
, jeśli wartość zawiera więcej niż 10 identyfikatorów filmów.
6 grudnia 2018 r.
Uwaga: to jest powiadomienie o wycofaniu usługi.
Dokumentacja interfejsu API została zaktualizowana, aby usunąć odwołania do zasobu contentOwnerAdvertisingOptions
i jego metod. Metody te były wykorzystywane w bardzo niewielkim stopniu, a użytkownicy interfejsu API, którzy z nich korzystali, kontaktowali się z nimi osobno przed opublikowaniem tego ogłoszenia.
21 marca 2018 r.
Ta aktualizacja zawiera następujące zmiany:
-
Właściwość
metadataMine.artist
musi być teraz ustawiana za każdym razem, gdy wstawisz, aktualizujesz lub poprawiasz zasób teledysku lub nagrania dźwiękowego. Interfejs API zwraca teraz błąd, jeśli właściwość nie jest ustawiona dla tych typów zasobów. Pamiętaj też, że właściwośćmetadataMine.artist
jest obsługiwana tylko w przypadku wykonawców teledysków i nagrań dźwiękowych.
24 lipca 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
package
reprezentuje grupę plików dostarczanych przez internet, SFTP lub inny mechanizm dostarczania. Interfejs API obsługuje 2 metody dotyczące tego zasobu:- Metoda
package.insert
weryfikuje i przesyła pakiet zawierający tylko metadane, który zawiera dokładnie 1 plik metadanych. - Metoda
package.get
pobiera informacje o wcześniej przesłanym pakiecie.
- Metoda
-
Zaktualizowaliśmy definicję właściwości
uploaderName
w przypadku metodyvalidator.validate
, aby zaznaczyć, że wartość nie wskazuje partnera w zakresie treści, który przesyła dane, ale jest to wartość typuweb-google
lubyt-google
wskazująca konkretne konto przesyłającego używane przez właściciela treści. -
Właściwość
status
zasobureference
nie używa już wartościduplicate_on_hold
sygnalizowania, że odwołanie jest duplikatem innego odwołania. Jeśli odwołanie jest duplikatem, wartość właściwościstatus
jest teraz ustawiona nainactive
, a wartość właściwościstatusReason
toREASON_DUPLICATE_FOR_OWNERS
.Jednak tak jak wcześniej, właściwość
duplicateLeader
zasobu jest wypełniana tylko wtedy, gdy odwołanie jest duplikatem. Jeśli jest skonfigurowana, jej wartość identyfikuje zduplikowane odwołanie.
17 kwietnia 2017 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
assetShare
, który ma zastosowanie tylko do zasobów kompozycji, identyfikuje związek między dwiema reprezentacjami zasobu zasobu. Reprezentacja ta odzwierciedla nowy model publikowania danych, który ma zapewnić większą przejrzystość i kontrolę nad tym, jak Twoje prawa są powiązane z zasobami nagrań dźwiękowych.W nowym modelu każde nagranie dźwiękowe jest mapowane na dokładnie jeden unikalny zasób, który jest nazywany widokiem kompozycji. Metadane tego zasobu to kanoniczny zestaw informacji wyświetlanych przez YouTube na temat praw do kompozycji powiązanych z danym nagraniem. Mogą one również syntetyzować informacje od różnych dostawców danych.
Oprócz tego każdy właściciel kompozycji ma własny zasób współdzielonej kompozycji. Współdzielona kompozycja zawiera informacje przekazane przez danego wydawcę dla zasobu kompozycji. Współdzielona kompozycja może być powiązana z wieloma nagraniami dźwiękowymi.
Zasób
assetShare
określa relację między widokiem kompozycji a współdzieloną kompozycją. Nowa metodaassetShares.list
umożliwia wykonanie jednej z tych czynności:- Podaj identyfikator widoku kompozycji i pobierz odpowiedni współdzielona kompozycja należąca do partnera, który autoryzował żądanie, jeśli takie współdzielenie istnieje.
- Podaj identyfikator współdzielonej kompozycji, której właścicielem jest partner w zakresie treści, i pobierz listę wszystkich widoków kompozycji, z którymi jest on powiązany.
-
W nowym przewodniku Zarządzanie zasobami kompozycji wyjaśniamy, jak różne metody interfejsu API obsługują żądania w zależności od tego, czy przesłane za ich pomocą identyfikatory zasobów określają wyświetlenia kompozycji czy współdzielone kompozycje.
-
Nowa właściwość
claimedVideoOptions.autoGeneratedBreaks
zasobucontentOwnerAdvertisingOptions
wskazuje, czy YouTube ma automatycznie generować przerwy na reklamy w filmach dłuższych niż 10 minut objętych roszczeniem. Właściwość ta wpływa na wszystkie filmy właściciela treści dłuższe niż 10 minut. Jeśli jednak film jest objęty wieloma roszczeniami, pierwszy partner, który zgłosi roszczenie do filmu, ustawia w odniesieniu do tego filmu działanie domyślne dla tej usługi.
11 sierpnia 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowo opublikowane Warunki korzystania z usług interfejsu YouTube API („zaktualizowane Warunki”), które są szczegółowo omówione na blogu YouTube dla programistów i programistów, zawierają wiele aktualizacji bieżących Warunków korzystania z usługi. Oprócz zaktualizowanych warunków, które zaczną obowiązywać 10 lutego 2017 roku, ta aktualizacja obejmuje też kilka dodatkowych dokumentów, które wyjaśniają zasady, których muszą przestrzegać deweloperzy.
Pełny zestaw nowych dokumentów opisano w historii zmian zaktualizowanych Warunków. Przyszłe zmiany w zaktualizowanych Warunkach lub w dokumentach dodatkowych będą również wyjaśnione w historii zmian. Korzystając z linku w dokumencie, możesz zasubskrybować kanał RSS z listą zmian w historii zmian.
31 maja 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowa metoda
validator.validate
pozwala określić, czy plik metadanych zawiera błędy weryfikacji, które uniemożliwiają YouTube prawidłowe przetworzenie go. Jeśli plik zawiera błędy, właściwośćerrors
w odpowiedzi interfejsu API zawiera listę błędów weryfikacji, które określają ich wagę, przyczynę i lokalizację.
-
-
Nowe i zaktualizowane błędy
-
Metody
assets.patch
iassets.update
obsługują teraz następujący błąd. Pamiętaj, że metoda może obsługiwać wiele błędów tego samego typu. Zapoznaj się z dokumentacją błędów poszczególnych metod lub pełną listą możliwych błędów na stronie błędów.Błędy invalidValue (400)
parameters.assetId
Nie udało się zrealizować żądania, ponieważ aktualizowany zasób został scalony z innym zasobem. Prześlij ponownie żądanie, używając jako wartości parametruassetId
identyfikatora zasobu, który jest zwracany w komunikacie o błędzie.
-
28 marca 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Nowa właściwość
matchInfo.matchSegments[]
zasobuclaim
zawiera listę, na której każdy element opisuje segment filmu objętego roszczeniem, który pasuje do części filmu referencyjnego. Roszczenie może mieć wiele segmentów dopasowania. Jeśli na przykład dźwięk i treść wideo przesłanego filmu odpowiadają treści filmu referencyjnego, zostaną rozróżnione dwa segmenty dopasowania. Jeden segment opisuje dopasowanie audio, a drugi – dopasowanie wideo.W przypadku każdego segmentu dopasowania interfejs API zwraca czas trwania i typ dopasowanych treści (audio lub wideo). Interfejs API wskazuje również przesunięcia czasu, w których zaczyna się i kończy każdy segment dopasowania zarówno w filmie objętym roszczeniem, jak i w filmie referencyjnym.
-
Wartość właściwości
claimedVideoOptions.newVideoDefaults[]
zasobucontentOwnerAdvertisingOptions
można teraz aktualizować podczas wywoływania metodcontentOwnerAdvertisingOptions.patch
lubcontentOwnerAdvertisingOptions.update
. -
Właściwość
allowedOptions.autoGeneratedBreaks
zasobucontentOwnerAdvertisingOptions
tylko do odczytu została wycofana.
-
-
Nowe i zaktualizowane błędy
-
Metoda
claims.update
interfejsu API obsługuje teraz poniższy błąd. Pamiętaj, że metoda może obsługiwać wiele błędów tego samego typu. Zapoznaj się z dokumentacją błędów poszczególnych metod lub pełną listą możliwych błędów na stronie błędów.Błędy badRequest (400)
alreadyClaimed
Roszczenie jest duplikatem innego istniejącego roszczenia i nie można go zaktualizować. -
Metoda
assets.list
czasami przekracza limit czasu i zwraca kod odpowiedzi HTTP500
(Internal Server Error
), zwłaszcza wtedy, gdy żądanie pobiera dane dla wielu zasobów, a wartość parametrufetchMatchPolicy
wynosieffective
. Jeśli żądanieassets.list
zawiera wiele identyfikatorów zasobów i zwraca błąd500
, spróbuj ponownie przesłać żądanie dotyczące jednego zasobu lub mniejszej liczby zasobów. -
Zaktualizowaliśmy dokumentację błędów
references.insert
, aby uwzględnić, że jeśli żądanie spowoduje przesłanie uszkodzonego pliku referencyjnego, problem ten zostanie zidentyfikowany dopiero po przetworzeniu odwołania. Dlatego nawet jeśli żądaniereferences.insert
zwróci prawidłową odpowiedź, odwołanie może nie zostać prawidłowo przetworzone. Zalecamy, aby po wstawieniu pliku referencyjnego przeprowadzić ankietę przy użyciu metodyreferences.list
, aby sprawdzić, czy plik referencyjny został aktywowany zgodnie z oczekiwaniami.
-
3 lutego 2016 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Interfejs API obsługuje teraz reklamy na liście produktów. Reklamy z listą produktów wyróżniają produkty, które są związane z treścią filmu lub są w nim przedstawione. Takie reklamy to karty sponsorowane, które wyświetlają się w trakcie filmu. Takie karty dodawane są automatycznie przez system reklam. Widzowie zobaczą zajawkę karty przez kilka sekund. Mogą również kliknąć ikonę w prawym górnym rogu filmu, aby przejrzeć karty.
W wyniku tej zmiany właściwości
product_listing
mogą teraz występować w tych wartościach:Zasób/metoda interfejsu API Właściwość contentOwnerAdvertisingOptions
allowedOptions.licAdFormats[]
contentOwnerAdvertisingOptions
allowedOptions.ugcAdFormats[]
contentOwnerAdvertisingOptions
claimedVideoOptions.newVideoDefaults[]
videoAdvertisingOptions
adFormats[]
videoAdvertisingOptions.getEnabledAds
countriesRestriction[].adFormats[]
-
Nowe atrybuty
createdBefore
icreatedAfter
metodyassetSearch.list
powodują, że interfejs API zwraca tylko zasoby utworzone przed określoną datą lub po niej. -
W odpowiedzi na żądanie
assetSearch.list
do interfejsu API właściwośćtype
obsługuje teraz wartośćart_track_video
. Więcej informacji o filmach z utworami audio znajdziesz w Centrum pomocy YouTube. -
Metoda
claimSearch.list
obsługuje te nowe parametry:Parametry referenceId
Ten parametr filtra określa identyfikator referencyjny YouTube pliku referencyjnego, do którego pobierasz roszczenia. inactiveReasons
Ten opcjonalny parametr pozwala ograniczyć odpowiedź interfejsu API do uwzględniania tylko nieaktywnych roszczeń z określonych powodów. Definicja parametru zawiera listę typów nieaktywnych roszczeń, które możesz wyszukać. partnerUploaded
Ten opcjonalny parametr wartości logicznej pozwala określić, że odpowiedź interfejsu API powinna zawierać tylko roszczenia przesłane przez partnera lub nieprzesłane przez partnera. -
Nowy obiekt
references#origination
zasobureference
zawiera informacje opisujące źródło odwołania. -
Metoda
references.insert
obsługuje teraz przesyłanie plików referencyjnych wygenerowanych za pomocą oprogramowania gfp_gen YouTube. Jeśli przesyłasz wstępnie wygenerowany odcisk cyfrowy, ustaw wartość właściwościfpDirect
natrue
w przesłanym zasobiereference
.Po tej zmianie interfejs API nie będzie już zwracać błędu, jeśli spróbujesz ustawić właściwość
fpDirect
podczas przesyłania pliku referencyjnego.
-
-
Nowe i zaktualizowane błędy
W dokumentacji znajdziesz teraz listę błędów zwracanych przez metody zasobu
whitelist
.Dodatkowo w tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy błąd. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu. Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Błędy badRequest (400)
inappropriateCampaignTarget
Metodycampaigns.insert
icampaigns.update
zwracają ten błąd, jeśli kampania próbuje polecić film, który może być nieodpowiedni dla niektórych użytkowników. Aby rozwiązać ten problem, wybierz inne treści, które chcesz polecać.badRequest (400)
canNotCreatePartnerUploadedClaim
OnCompositionOrSoundRecordingAssets
Metodaclaims.insert
zwraca ten błąd, jeśli próbujesz utworzyć przesłane przez partnera roszczenie dotyczące kompozycji lub nagrania dźwiękowego.badRequest (400)
existingSoundRecordingOrMusicVideoClaim
Metodaclaims.insert
zwraca ten błąd, jeśli istnieje już roszczenie dotyczące muzyki nagranej w wybranym filmie. Bezpośrednich roszczeń dotyczących kompozycji nie można dodawać za pomocą interfejsu API.badRequest (400)
asset_id
Metodareferences.insert
zwraca ten błąd, jeśli żądanie próbowało utworzyć odwołanie w pliku, ale w żądaniu nie określono identyfikatora assetId.badRequest (400)
canNotBeActivated
Metodareferences.update
zwraca ten błąd, jeśli nie można aktywować pliku referencyjnego prawdopodobnie z powodu jego stanu lub warunków własności.badRequest (400)
videoNotClaimed
MetodavideoAdvertisingOptions.get
zwraca ten błąd, jeśli nie zgłosiłeś roszczenia do filmu, do którego próbujesz uzyskać dostęp do opcji reklam, i tym samym nie masz dostępu do żądanych informacji.
18 grudnia 2015 r.
Przepisy Unii Europejskiej (UE) wymagają udostępnienia użytkownikom z Unii Europejskiej określonych informacji oraz uzyskania ich zgody. Dlatego w przypadku użytkowników z Unii Europejskiej musisz przestrzegać polityki w zakresie zgody użytkownika z UE. Dodaliśmy informację o tym wymaganiu w Warunkach korzystania z interfejsu YouTube API.
21 kwietnia 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowy zasób
campaign
reprezentuje określoną kampanię właściciela treści, która umożliwia właścicielowi treści wykorzystywanie adnotacji do promowania treści w filmach przesłanych przez użytkowników, które są objęte roszczeniem. Właściciel treści może na przykład utworzyć kampanię, która będzie dodawać linki do strony odtwarzania filmu w przypadku wszystkich przesłanych przez użytkowników filmów objętych roszczeniem, które zawierają sceny z tego filmu.Interfejs API obsługuje metody zasobów
get
,list
,insert
,update
,patch
idelete
campaign
. -
Interfejs API obsługuje kilka nowych błędów w nowych metodach
campaigns.get
,campaigns.insert
,campaigns.update
icampaigns.delete
.
30 marca 2015 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr
isrcs
metodyassetSearch.list
umożliwia określenie listy maksymalnie 50 kodów ISRC. Odpowiedź interfejsu API będzie zawierać zasoby powiązane z tymi kodami ISRC. -
Właściwość
event[].reason
zasobuclaimHistory
obsługuje następujące nowe wartości. Każda z przyczyn wyjaśnia, dlaczego wystąpiło konkretne zdarzenie związane z roszczeniem:- closed_audio_claim_on_visual_reference
- closed_partner_exclusion
- closed_reference_conflict
-
Nowy parametr
sort
metodyclaimSearch.list
określa metodę, która będzie używana do sortowania zasobów w odpowiedzi interfejsu API. Domyślnie zasoby są sortowane w odwrotnej kolejności chronologicznej (od najnowszych do najstarszych) na podstawie dat utworzenia. Możesz też posortować zasoby od największej do najmniejszej liczby wyświetleń treści objętych roszczeniem.Pamiętaj, że jeśli żądanie
claimSearch.list
ustawi też wartość parametrustatus
naappealed
,disputed
,pending
,potential
lubroutedForReview
, wyniki są sortowane według czasu wygaśnięcia okresu weryfikacji roszczenia. -
Metody
ownership.update
iownership.patch
zawierają teraz prawidłową listę wszystkich właściwości, które można zaktualizować podczas wywoływania tych metod. Ta zmiana jest poprawką w dokumentacji interfejsu API i nie określa zmiany w jego funkcjach. -
Parametry
fetchMatchPolicy
metodassets.get
iassets.list
wymieniająeffective
jako obsługiwaną wartość. Wartość informuje serwer API, że ma pobrać zasadę dopasowania, którą YouTube stosuje do zasobu. -
W przypadku parametrów
id
metodassets.list
,claims.list
,contentOwners.list
,policies.list
,publishers.list
ireferences.list
wartości parametrów mogą zawierać maksymalnie 50 identyfikatorów rozdzielonych przecinkami.
-
-
Nowe i zaktualizowane błędy
W tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy z nich. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu.
Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Typ błędu Szczegóły błędu Opis badRequest (400)
tooManyIsrcs
Metoda assetSearch.list
zwraca ten błąd, jeśli parametrisrcs
określa więcej niż 50 kodów ISRC.badRequest (400)
videoIsPrivate
Metoda claims.insert
zwraca ten błąd, jeśli próbujesz zgłosić roszczenie do filmu prywatnego. Możesz zgłosić roszczenie do filmu tylko wtedy, gdy jego stan prywatności topublic
lubunlisted
.notModified (304)
blockOutsideOwnershipUnchanged
Metoda claims.update
zwraca ten błąd, jeśli flagablockOutsideOwnership
żądania nie została pomyślnie zmodyfikowana. Istnieje kilka przyczyn tego błędu. Typowym przykładem jest to, że określona modyfikacja nie ma wpływu na film objęty roszczeniem.
7 listopada 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Parametr
status
metodyclaimSearch.list
obsługuje teraz wartośćroutedForReview
. Ta wartość ogranicza wyniki do roszczeń, które wymagają ręcznego sprawdzenia na podstawie reguły w zasadzie dopasowania zasobu. -
Właściwość
event[].reason
zasobuclaimHistory
obsługuje następujące nowe wartości. Każda z przyczyn wyjaśnia, dlaczego wystąpiło konkretne zdarzenie związane z roszczeniem:- closed_invalid_reference_segment
- closed_noadsense
- suspended_monetization_on_channel
- video_content_modified
-
Właściwość
origin.source
zasobuclaim
, która identyfikuje źródło roszczenia, obsługuje teraz wartośćmelodyMatch
. Roszczenie dotyczące dopasowania melodii wskazuje, że film objęty roszczeniem zawiera kompozycję muzyczną wraz z plikiem referencyjnym. -
Dokumentacja metody
references.insert
została zaktualizowana, aby odpowiednio odzwierciedlać fakt, że interfejs API używa 2 różnych punktów końcowych w przypadku tej metody. Nie jest to zmiana w funkcjach interfejsu API, ale poprawka w dotychczasowej dokumentacji.-
Jeśli żądanie przesyła nowy plik referencyjny, prawidłowy punkt końcowy to:
POST https://www.googleapis.com/upload/youtube/partner/v1/references
-
Jeśli żądanie tworzy plik referencyjny, wykorzystując do tego film objęty roszczeniem, prawidłowy punkt końcowy to:
POST https://www.googleapis.com/youtube/partner/v1/references
-
-
-
Nowe i zaktualizowane błędy
W tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy z nich. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu.
Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Typ błędu Szczegóły błędu Opis badRequest (400)
invalidLabelName
Metody assets.insert
,assets.update
iassetLabels.insert
zwracają ten błąd, jeśli nazwa etykiety zasobu jest nieprawidłowa. Nazwy etykiet muszą mieć od 2 do 30 znaków. Nie mogą zawierać nawiasów trójkątnych, przecinków, dwukropków, ampersandów ani znaków pionowej kreski (|).badRequest (400)
ownerHaveMaximumNumberOfLabels
Metody assets.insert
,assets.update
iassetLabels.insert
zwracają ten błąd, jeśli właściciel treści zdefiniował już 2500 niepowtarzalnych etykiet zasobów, czyli maksymalną dozwoloną liczbę.badRequest (400)
tooManyLabelsOnOneAsset
Metody assets.insert
iassets.update
zwracają ten błąd, jeśli zasób jest już powiązany z 30 etykietami zasobów, czyli maksymalną dozwoloną liczbą.badRequest (400)
channelMonetizationSuspended
Metody claims.insert
iclaims.update
zwracają ten błąd, jeśli kanał filmu został zawieszony z powodu roszczeń partnera.badRequest (400)
channelNotActive
Metoda claims.update
zwraca ten błąd, jeśli kanał wideo jest nieaktywny. -
Metody
assets.insert
iassets.update
nie zwracają już błędubadRequest
w przypadku niektórych zasobów, jeśli zasób w treści żądania nie zawiera właściwościmetadataMine.contentType
.
23 września 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zmiany identyfikatora właściciela treści
Zmiany identyfikatora właściciela treści ogłoszone w historii zmian 9 lipca 2014 r. weszły w życie. W wyniku tej zmiany interfejs API zwraca teraz wygenerowany, unikalny identyfikator identyfikujący właściciela treści powiązanego z uwierzytelnionym użytkownikiem lub zasobem zarządzanym przez interfejs API. Wcześniej interfejs API zwracał zrozumiałą dla człowieka nazwę jako identyfikator, taką jak „qrs_network”.
Ta zmiana ma wpływ na poniższe funkcje interfejsu API i prawdopodobnie wpłynie na partnerów, którzy mają w swoich aplikacjach zakodowane na stałe kody partnerów.
- Interfejs API zwraca teraz nowy identyfikator jako wartość właściwości zasobu, które wcześniej zwracały kod partnera, np. właściwości
id
zasobucontentOwner
. - Wszystkie metody interfejsu API obsługują parametr
onBehalfOfContentOwner
, który identyfikuje właściciela treści, w imieniu którego wysyłane jest żądanie do interfejsu API. Po zmianie parametr powinien zostać ustawiony na nowy identyfikator, a nie na kod partnera. Aby zapobiec naruszeniom kodu, parametr będzie akceptować dowolną wartość w okresie przejściowym. - Po zmianie parametr
contentOwnerId
metodycontentOwners.list
powinien określać nowy identyfikator, a nie kod partnera.
- Interfejs API zwraca teraz nowy identyfikator jako wartość właściwości zasobu, które wcześniej zwracały kod partnera, np. właściwości
-
Aktualizacje istniejących zasobów i metod
-
Nowy parametr
metadataSearchFields
metodyassetSearch.list
pozwala określić pola metadanych zasobów, które chcesz przeszukać, oraz wartości w nich, które chcesz wyszukać. Wartość parametru ma postać listy par pól i wartości rozdzielonych przecinkami. W parze pole i wartość są rozdzielone dwukropkiem. -
Nowy obiekt
appliedPolicy
zasobuclaim
określa zasadę, którą YouTube faktycznie stosuje do roszczenia. Wartość obiektu to zasóbpolicy
. Zasób ten zawiera informacje o zasadach obowiązujących w krajach, w których właściciel treści, który przesłał żądanie, jest właścicielem zasobu objętego roszczeniem.Stosowana zasada może różnić się od zasady zdefiniowanej przez właściciela treści na 2 sposoby:
-
Uwzględnia zasady określone przez innych właścicieli, którzy są częściowo właścicielami zasobów objętych roszczeniem w regionach, w których znajduje się właściciel treści, który przesłał żądanie do interfejsu API.
-
Uwzględnia zasady administracyjne YouTube obowiązujące w regionach, w których właściciel treści jest właścicielem zasobu objętego roszczeniem.
-
-
Nowa właściwość
uploaderChannelId
zasobuclaimHistory
określa identyfikator kanału, na który został przesłany film objęty roszczeniem.
-
8 września 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
assetLabel
określa etykietę tekstową, którą można przypisać do zasobu. Etykiety zasobów pozwalają na umieszczanie zasobów w niestandardowych kategoriach, co ułatwia porządkowanie biblioteki zasobów. Możesz wyszukiwać zasoby na podstawie ich etykiet, co może także ułatwić zbiorcze aktualizowanie określonych grup zasobów.- Metoda
assetLabels.list
umożliwia pobranie listy etykiet właściciela treści. - Metoda
assetLabels.insert
umożliwia utworzenie nowej etykiety zasobu. Możesz też tworzyć nowe etykiety, wywołując metodęassets.update
i aktualizując etykiety zasobu. Serwer interfejsu API automatycznie utworzy nowy zasóbassetLabel
dla dowolnej wcześniej niezdefiniowanej etykiety.
- Metoda
-
-
Aktualizacje istniejących zasobów i metod
-
Właściwość
label[]
zasobuasset
została zaktualizowana, aby zwrócić uwagę, że możesz wywołać metodęassets.update
, aby zaktualizować etykiety zasobu. Nie możesz jednak ustawić etykiet zasobu podczas wywoływania metodyassets.insert
.Nowy przewodnik Korzystanie z etykiet zasobów wyjaśnia, jak tworzyć i pobierać etykiety zasobów, a także jak aktualizować etykiety zasobów lub wyszukiwać zasoby powiązane z określonymi etykietami.
-
-
Nowe i zaktualizowane błędy
Interfejs API obsługuje kilka nowych błędów w nowych metodach
assetLabels.list
iassetLabels.insert
.
9 lipca 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zmiany identyfikatora właściciela treści
W przeszłości interfejs API używał zrozumiałego dla człowieka kodu partnera (takiego jak „qrs_network”), aby jednoznacznie identyfikować właściciela treści powiązanego z uwierzytelnionym użytkownikiem lub zasobem zarządzanym przez interfejs API. W III kwartale 2014 r. interfejs API zacznie korzystać z unikalnego 22-znakowego identyfikatora do identyfikowania właścicieli treści. Ta zmiana dotyczy poniższych funkcji interfejsu API i prawdopodobnie wpłynie na partnerów, którzy mają w swoich aplikacjach zakodowane na stałe kody partnerów.
- Interfejs API zwróci 22-znakowy identyfikator jako wartość właściwości zasobu, które wcześniej zwracały kod partnera, np. właściwości
id
zasobucontentOwner
. - Wszystkie metody interfejsu API obsługują parametr
onBehalfOfContentOwner
, który identyfikuje właściciela treści, w imieniu którego wysyłane jest żądanie do interfejsu API. Po zmianie parametr powinien zostać ustawiony na 22-znakowy identyfikator zamiast kodu partnera. Aby zapobiec naruszeniom kodu, parametr będzie akceptować dowolną wartość w okresie przejściowym. - Po zmianie parametr
contentOwnerId
metodycontentOwners.list
powinien określać 22-znakowy identyfikator zamiast kodu partnera.
- Interfejs API zwróci 22-znakowy identyfikator jako wartość właściwości zasobu, które wcześniej zwracały kod partnera, np. właściwości
-
Aktualizacje istniejących zasobów i metod
-
Zasób
asset
obsługuje teraz właściwośćlabel
, która określa listę etykiet powiązanych z zasobem. Tę samą etykietę można dodać do wielu zasobów w celu ich połączenia w grupę. Etykiet możesz używać jako filtrów wyszukiwania do przeprowadzania aktualizacji zbiorczych, pobierania raportów lub filtrowania Statystyk YouTube. -
Metoda
assetSearch.list
obsługuje teraz te parametry opcjonalne:labels
: ogranicza wyniki, aby uwzględniały tylko zasoby powiązane z określonymi etykietami. Domyślnie interfejs API zwraca zasoby pasujące do wszystkich podanych etykiet. Możesz jednak użyć parametruincludeAnyProvidedLabel
, aby nakazać interfejsowi API zwracanie zasobów pasujących do dowolnej z podanych etykiet.includeAnyProvidedLabel
: używany w połączeniu z parametremlabels
informuje interfejs API o zwracanych zasobach, które są powiązane z dowolnymi etykietami określonymi w wartości parametrulabels
.
-
Zasób
claimHistory
zawiera teraz te nowe właściwości:- Właściwość
event[].source.userEmail
podaje adres e-mail użytkownika, który zainicjował zdarzenie. - Właściwość
event[].typeDetails.disputeNotes
zawiera notatki dotyczące sporu dotyczące zdarzeniadispute_create
.
- Właściwość
-
Metoda
claimSearch.list
obsługuje teraz te parametry opcjonalne:createdAfter
: ogranicza wyniki, aby uwzględniały tylko roszczenia utworzone po określonej dacie.createdBefore
: ogranicza wyniki, aby uwzględniały tylko roszczenia utworzone przed określoną datą.includeThirdPartyClaims
: używany w połączeniu z parametremvideoId
wskazuje, czy w wynikach interfejsu API mają być uwzględnione twierdzenia osób trzecich.
-
-
Bardziej szczegółowe informacje o błędzie
W dokumentacji błędów określono teraz kod odpowiedzi HTTP dla każdego typu błędu.
-
Nowe i zaktualizowane błędy
W tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy z nich. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu. Jeśli na przykład spróbujesz wstawić zasób
asset
, w którym brakuje wymaganego pola metadanych, zostanie zwrócony błądrequired
. W rzeczywistości może istnieć więcej niż jedno wymagane pole metadanych, a każde z nich zwróci błąd i nieco inny komunikat.Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Metoda Błędy assetSearch.list
invalidValue
– interfejs API nie obsługuje wyszukiwania zasobów programu lub sezonu. Zmień wartość parametrutype
na obsługiwaną wartość.
assets.insert
conflict
– istnieje już zbyt wiele zasobów o tym samym identyfikatorze (np. identyfikator niestandardowy, ISRC itp.).conflict
– istnieje już zbyt wiele kopii określonego zasobu.invalidValue
– użytkownik wywołujący interfejs API nie ma uprawnień do tworzenia zasobów określonego typu.
assets.patch
assets.update
badRequest
– interfejs API nie obsługuje konwersji typu zasobu, którą próbujesz przekonwertować.
claimSearch.list
badRequest
– parametrincludeThirdPartyClaims
może być używany tylko w połączeniu z filtremvideoId
.
ownership.patch
ownership.update
badRequest
– nie możesz zaktualizować własności zasobu utworu audio.
references.patch
references.update
badRequest
– odwołanie ma nieprawidłowy stan dla próby, którą próbujesz wykonać.
3 lutego 2014 r.
Ta aktualizacja zawiera następujące zmiany:
-
Aktualizacje istniejących zasobów i metod
-
Zasób
asset
może teraz mieć wartośćtype
równąart_track_video
. -
Zasób
claimSearch
zawiera teraz te nowe właściwości:- Obiekt
origin
zawiera informacje opisujące sposób utworzenia roszczenia. - Właściwość
thirdPartyClaim
zawiera wartość logiczną, która wskazuje, czy roszczenie zostało zgłoszone przez innego właściciela treści niż właściciela treści powiązanego z użytkownikiem przeprowadzającym wyszukiwanie.
- Obiekt
-
Metoda
claimSearch.list
obsługuje teraz te parametry opcjonalne:contentType
: ogranicza wyniki, tak aby zawierały tylko roszczenia dotyczące tylko dźwięku, tylko filmów lub roszczeń audiowizualnych.origin
: określa co najmniej jedno źródło roszczeń, np.descriptiveSearch
lubvideoMatch
, dla których chcesz znaleźć roszczenia.status
: ogranicza wyniki, tak aby zawierały tylko roszczenia o określonym stanie.
-
Właściwość
status
zasobuclaim
obsługuje teraz te dodatkowe wartości:appealed
,disputed
,potential
,takedown
iunknown
. -
Nowa właściwość
blockOutsideOwnership
zasobuclaim
wskazuje, czy film objęty roszczeniem powinien zostać zablokowany w regionach, w których nie jest on jednoznacznie własnością użytkownika. Domyślnie film objęty roszczeniem będzie nadal widoczny w krajach, w których nie określono danych własności dla zasobu powiązanego z roszczeniem. -
Nowa właściwość
allowedOptions.autoGeneratedBreaks
zasobucontentOwnerAdvertisingOption
wskazuje, czy partner może zdecydować się na wyświetlanie reklam In-Stream w trakcie filmu w przerwach, które są automatycznie określane przez YouTube. -
Metoda
contentOwners.list
może być teraz wywoływana za pomocą tokena autoryzacji, który określa zakreshttps://www.googleapis.com/auth/youtubepartner-content-owner-readonly
. -
Nowa właściwość
timeUpdated
zasobupolicy
określa czas ostatniej aktualizacji zasady. -
Metoda
policies.list
obsługuje teraz opcjonalny parametrsort
, za pomocą którego można określić, czy wyniki mają być sortowane rosnąco lub malejąco według czasu ostatniej aktualizacji. -
Nowa właściwość
expiryTime
zasobureferenceConflict
określa czas zakończenia okresu sprawdzania pod kątem konfliktu plików referencyjnych, które powoduje wygaśnięcie konfliktu. -
Nowa właściwość
autoGeneratedBreaks
zasobuvideoAdvertisingOption
wskazuje, czy w trakcie filmu powinny być wyświetlane reklamy In-Stream w przerwach, które są automatycznie ustalane przez YouTube.
-
-
Nowe i zaktualizowane błędy
W tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy z nich. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu. Jeśli na przykład spróbujesz wstawić zasób
asset
, w którym brakuje wymaganego pola metadanych, zostanie zwrócony błądrequired
. W rzeczywistości może istnieć więcej niż jedno wymagane pole metadanych, a każde z nich zwróci błąd i nieco inny komunikat.Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Metoda Błędy assets.insert
assets.update
badRequest
– interfejs API nie obsługuje operacji zapisu na zasobach utworów audio.
claimSearch.list
invalidValue
– parametrpageToken
w żądaniu określa nieprawidłowy token strony.
claims.insert
badRequest
– roszczenie, które próbujesz utworzyć, jest nieprawidłowe, ponieważ kanał, do którego prowadzi film, jest nieaktywny.badRequest
– film, do którego chcesz zgłosić roszczenie, nie jest objęty zasadą usuwania. W razie pytań wyślij e-maila na adres [email protected]badRequest
– nie możemy rozpatrzyć Twojego żądania, ponieważ nie możesz utworzyć roszczenia osoby trzeciej do wskazanego filmu.conflict
– YouTube nie może utworzyć żądanego roszczenia, ponieważ film został objęty roszczeniem wzajemnym z żądaniem usunięcia.conflict
– YouTube nie może utworzyć żądanego roszczenia, ponieważ film jest objęty aktywnym roszczeniem z żądaniem usunięcia.
references.insert
badRequest
– film objęty roszczeniem, którego chcesz użyć, został usunięty lub odrzucony albo jego przetwarzanie się nie udało.
-
Błędy
contentOwnerNotProvided
iinternalError
, które nie dotyczą konkretnej metody interfejsu API, nie są już wyświetlane na każdej stronie metody. Ich opisy nadal możesz znaleźć w sekcji Błędy ogólne w dokumentacji błędów interfejsu API.
12 września 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowy zasób
referenceConflict
identyfikuje konflikt między 2 plikami referencyjnymi i zawiera listę dopasowań istniejących w momencie wykrycia konfliktu. MetodareferenceConflicts.list
umożliwia pobranie listy nierozwiązanych konfliktów plików referencyjnych powiązanych z autoryzowanym właścicielem treści. MetodareferenceConflicts.get
umożliwia pobranie konfliktu plików referencyjnych przez podanie jego unikalnego identyfikatora konfliktu plików referencyjnych.
Aktualizacje istniejących zasobów i metod
-
Interfejs API obsługuje teraz możliwość pobierania obowiązujących zasad dopasowania zasobu. Zmiana ta jest równoległa ze zmianami wprowadzonymi 16 lipca 2013 r., które obejmowały obsługę pobierania kanonicznego zestawu metadanych i danych własności zasobu.
Aby pobrać obowiązującą zasadę dopasowania zasobu, ustaw wartość parametru
fetchMatchPolicy
naeffective
podczas wywoływania metodyassets.get
lubassets.list
. W odpowiedzi interfejsu API obiektmatchPolicyEffective
w każdym zwróconym zasobieasset
zawiera obowiązującą zasadę dopasowania, która obowiązuje w przypadku tego zasobu. -
Nowy obiekt
ownershipConflicts
zasobuasset
zawiera informacje o konfliktach własności. Struktura obiektu jest podobna do struktury zasobuownership
, która identyfikuje różne typy praw, które może posiadać właściciel zasobu. (W przypadku większości typów zasobów właściciele mogą mieć tylko ogólne prawo własności do zasobów, ale w przypadku zasobów kompozycji właściciele mogą określić swoje prawa do wykonania, prawa do synchronizacji lub praw mechanicznych).Podobnie obiekt
ownershipConflicts
zawiera osobne listy, które identyfikują konflikty dotyczące ogólnych praw własności, praw do wykonywania, synchronizacji i praw mechanicznych. W przypadku każdego konfliktu dane wskazują, na których obszarach występuje konflikt, informacje o właścicieli, którzy podali sprzeczne dane dotyczące własności, oraz procent własności zasobu, który jest własnością każdego z tych właścicieli. -
Metody
assets.get
iassets.get
obsługują teraz nowy parametrfetchOwnershipConflicts
. Ten parametr ma wartość logiczną, która wskazuje, czy żądanie do interfejsu API ma pobierać konflikty własności dotyczące zasobów w odpowiedzi interfejsu API. Wartość domyślna tofalse
, co oznacza, że konflikty własności nie są zwracane. -
Definicja parametru
q
metodyassetSearch.list
została zaktualizowana, aby zidentyfikować pola metadanych wyszukiwane w YouTube. -
Dokumentacja treści żądania dla metody
references.insert
wskazuje teraz, że musisz ustawić wartość właściwościcontentType
. Ta zmiana jest aktualizacją dokumentacji, która odpowiednio odzwierciedla rzeczywiste funkcje interfejsu API, ale nie odzwierciedla jego funkcjonalności.
-
-
Nowe i zaktualizowane błędy
-
Interfejs API obsługuje nowy błąd
forbidden
, który nie dotyczy konkretnej metody. Oznacza on, że żądanej operacji nie można autoryzować za pomocą konta usługi. -
Metoda
assets.insert
identyfikuje teraz błędy metadanych występujące we właściwościach w obiekciemetadataMine
, a nie w obiekciemetadata
, który został wycofany 16 lipca 2013 r. po aktualizacji interfejsu API. -
Zaktualizowaliśmy stronę z błędami, aby w przypadku każdego zasobu, który obsługuje metody
update
ipatch
, zawierała jedną tabelę z listą błędów zwróconych przez te 2 metody. Wcześniej na stronie błędy były wymienione dla każdej metody z osobna, ale listy zawsze były takie same.
-
16 lipca 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowe zasoby i metody
-
Nowa metoda
claimHistory.get
umożliwia identyfikowanie i pobieranie informacji o konkretnym roszczeniu. Zwrócony zasóbclaimHistory
zawiera listę zdarzeń związanych z roszczeniem, takich jak jego utworzenie, zaktualizowanie, zakwestionowanie lub zamknięcie roszczenia. -
Nowa metoda
claimSearch.list
umożliwia wyszukiwanie roszczeń, które spełniają dowolne lub wszystkie z tych kryteriów:- Roszczenia są powiązane z konkretnym zasobem.
- Roszczenia są powiązane z konkretnym filmem.
- Deklaracje pasują do ciągu zapytania podanego w żądaniu.
Każdy zasób
claimSnippet
w odpowiedzi interfejsu API zawiera szczegółowe informacje o roszczeniu, w tym jego unikalny identyfikator, stan i typ roszczenia (audio
,video
lubaudiovisual
) oraz powiązany z nim zasób i film. Zasób określa też liczbę wyświetleń filmu objętego roszczeniem oraz jego tytuł.
-
-
Aktualizacje istniejących zasobów i metod
-
W dokumentacji znajdziesz teraz listę obsługiwanych wartości właściwości, które mają zestaw wartości wyliczonych. Należą do nich
type
zasobuasset
i właściwośćstatus
zasobuclaim
. -
W przypadku metod
assets.get
iassets.list
interfejs API obsługuje teraz rozdzielane przecinkami wartości parametrów żądaniafetchMetadata
ifetchOwnership
, co umożliwia pobieranie wielu zestawów metadanych lub danych o własności.Na liście poniżej przedstawiono odpowiednie zmiany w strukturze zasobów
asset
, a także ich wpływ na metody interfejsu API stosowane w zasobachget
,list
,insert
,update
lubpatch
asset
.-
Obiekt
metadata
został wycofany i zastąpiony obiektamimetadataMine
imetadataEffective
. Dzięki nim zasóbasset
może zawierać zarówno zestaw metadanych dostarczonego przez właściciela treści wysyłającego żądanie do interfejsu API, jak i kanoniczny zestaw metadanych, który YouTube uznał za najbardziej dokładny i kompletny zestaw metadanych zasobu. -
Obiekt
ownership
został zastąpiony obiektamiownershipMine
iownershipEffective
. -
Obiekt
matchPolicy
został zastąpiony obiektemmatchPolicyMine
. (Obecnie interfejs API nie obsługuje pobierania obowiązujących zasad dopasowania dla zasobu).
Uwaga: aby zapewnić zgodność wsteczną, jeśli zażąda się tylko jednej wersji metadanych, jednego zestawu danych o własności lub jednej zasady dopasowania dla zasobu, odpowiedź interfejsu API będzie zawierać wycofany obiekt oraz nowo obsługiwany obiekt. Jeśli na przykład żądanie ustawi parametr
fetchMetadata
namine
, odpowiedź interfejsu API będzie zawierała obiektymetadata
imetadataMine
. Oba będą zawierać te same dane. Możliwość ustawienia atrybutufetchMetadata=mine
była obsługiwana przed aktualizacją funkcji, która umożliwiała pobieranie wielu wersji metadanych.
Jeśli jednak parametrfetchMetadata
ma wartośćmine,effective
, odpowiedź interfejsu API będzie zawierać obiektymetadataMine
imetadataEffective
, ale nie będzie obiektumetadata
. (Możliwość ustawiania funkcjifetchMetadata=mine,effective
nie była obsługiwana przed tą aktualizacją funkcji, więc nie ma potrzeby zwracania obiektumetadata
w celu zapewnienia zgodności wstecznej). Ta sama zasada dotyczy też parametrówfetchOwnership
ifetchMatchPolicy
.
Na potrzeby zgodności wstecznej żądanie wysyłane doinsert
,update
lubpatch
zasobuasset
może zawierać zarówno obiektmetadataMine
, jak i obiektmetadata
. Ta sama zasada dotyczy konfigurowania danych o własności lub zasady dopasowania zasobuasset
. -
-
Parametry
assetId
,q
ivideoId
metodyclaims.list
zostały wycofane. Aby wyszukać roszczenia na podstawie dowolnego z tych kryteriów, użyj metody claimSearch.list, która obsługuje wszystkie te parametry. -
W zasobie
ownership
wartości właściwościgeneral[].ratio
,performance[].ratio
,synchronization[].ratio
imechanical[].ratio
mają teraz format treścidouble
, a nieinteger
. -
Definicja właściwości
rules[].action
zasobupolicy
zawiera teraz prawidłowe wartości tej właściwości:block
,monetize
,takedown
itrack
. Pamiętaj jednak, że nie możesz używać interfejsu API, aby zastosować zasadę usuwania w sprawie roszczenia. -
Nowa właściwość
claimId
zasobureference
jest widoczna, jeśli plik referencyjny został utworzony przez powiązanie zasobu z istniejącym filmem w YouTube, który został przesłany na kanał w YouTube połączony z Twoim kontem CMS. W tym przypadku to pole zawiera identyfikator roszczenia, który odzwierciedla wynikowe powiązanie między zasobem a filmem. -
Nowa właściwość
excludedIntervals[]
zasobureference
określa listę przedziałów czasu w trakcie pliku referencyjnego, które YouTube ma ignorować podczas próby dopasowania do pliku referencyjnego. Każdy interwał określa czas rozpoczęcia i zakończenia mierzony w sekundach od początku filmu. -
Interfejs API nie wymaga już ustawienia właściwości
status
w zasobiereference
wysyłanym w treści żądaniareferences.update
lubreferences.patch
. -
Dokumentacja została poprawiona, aby poprawnie opisać format odpowiedzi interfejsu API w metodzie
videoAdvertisingOptions.getEnabledAds
. Odpowiedź, która jest zasobemyoutubePartner#videoAdvertisingOptionGetEnabledAds
, zawiera te informacje:-
id
– identyfikator, którego YouTube używa do jednoznacznego identyfikowania filmu objętego roszczeniem, który jest powiązany z ustawieniami. -
adBreaks
– lista obiektów, z których każdy zawiera informacje o miejscu przed rozpoczęciem odtwarzania filmu, w jego trakcie lub po nim, w którym zezwolono na wyświetlanie reklam. Każdy obiekt może też określać inne atrybuty przerwy na reklamę, np. boksy reklamowe występujące podczas przerwy i typy reklam, które mogą być wyświetlane w poszczególnych boksach. -
adsOnEmbeds
– pole wartości logicznej, które wskazuje, czy YouTube może wyświetlać reklamy, gdy film jest odtwarzany w odtwarzaczu umieszczonym na stronie. -
countriesRestriction
– lista obiektów, których każdy obiekt określa listę regionów i formatów reklam używanych podczas odtwarzania filmu w tych regionach.
-
-
-
Nowe i zaktualizowane błędy
-
W tabeli poniżej znajdziesz nowe błędy obsługiwane przez interfejs API oraz metody, które mogą zwracać każdy z nich. Wskazuje też błędy, które uległy zmianie. Pamiętaj, że metoda może zwrócić wiele błędów tego samego typu. Jeśli na przykład spróbujesz wstawić zasób
asset
, w którym brakuje wymaganego pola metadanych, zostanie zwrócony błądrequired
. W rzeczywistości może istnieć więcej niż jedno wymagane pole metadanych, a każde z nich zwróci błąd i nieco inny komunikat.Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Metoda Błędy assets.insert
assets.update
assets.patch
- Błędy
invalidValue
irequired
, które były wcześniej powiązane z właściwościami podrzędnymi obiektumetadata
, są teraz powiązane z tymi samymi właściwościami podrzędnymi w obiekciemetadataMine
.
claimHistory.get
notFound
– nie można znaleźć roszczenia, dla którego próbujesz pobrać historię.required
– w żądaniu nie określono wartości parametruclaimId
.
claimSearch.list
claims.list
badRequest
– żądanie określa nieprawidłowe kryteria. Można podać maksymalnie jeden z tych parametrów filtra:q
,assetId
,videoId
.
claims.insert
badRequest
– roszczenie, które próbujesz utworzyć, jest nieprawidłowe, ponieważ żądany właściciel treści nie jest właścicielem zasobu powiązanego z roszczeniem.badRequest
– właściciel treści, w imieniu którego działasz, nie ma uprawnień do tworzenia zasad dla określonego działania.invalidValue
– właściciel treści, w imieniu którego działasz, nie ma uprawnień do zgłaszania roszczeń do filmów przesłanych przez użytkowników za pomocą interfejsu API.
contentOwners.list
badRequest
– żądanie określa nieprawidłowe kryteria. Musisz podać dokładnie jeden z tych parametrów filtra:fetchMine
,id
. (Wcześniej komunikat o błędzie zawierał inny zestaw parametrów filtra:has_conflicts_with
,restrict_to_user
,name_prefix
iid
).
ownership.update
ownership.patch
badRequest
– prośba o zaktualizowanie danych o własności zasobu kompozycji musi określać szczegółowe informacje o własności;mechanical
,performance
,synchronization
lublyric
, a niegeneral
prawa własności. Niedawno obsługiwany jest typ uprawnieńlyric
.
policies.insert
policies.update
policies.patch
invalidValue
– żądanie zawiera nieprawidłową regułę zasad, ponieważ interfejs API nie obsługuje tworzenia ani modyfikowania zasad, które określają działanietakedown
. Ten błąd, który zgłasza przyczynę błęduinvalidPolicyTakedownAction
, zastępuje wycofany błądinvalidPolicyConditionalTakedown
.
references.insert
badRequest
– żądanie musi wysłać plik multimedialny lub określić wartość parametru żądaniaclaimId
. Żądanie nie może jednak wysłać pliku multimedialnego oraz określić wartość parametru żądaniaclaimId
.badRequest
– plik referencyjny tych samych treści został już utworzony na podstawie innego roszczenia do tego samego filmu w YouTube.badRequest
– interfejs API nie obsługuje możliwości ustawienia wartości właściwościfpDirect
podczas tworzenia pliku referencyjnego.internalError
– wystąpił problem z przesłanym plikiem multimedialnym.invalidValue
– wartość parametru żądaniacontentType
,assetId
lubclaimId
jest nieprawidłowa. Błąd wskazuje nieprawidłową wartość.notFound
– nie można odnaleźć określonego zasobu lub roszczenia. Sprawdź wartości parametrówassetId
iclaimId
w żądaniu.required
– w żądaniu musi być określona wartość parametrucontentType
.
references.insert
references.update
references.patch
invalidValue
–excludedIntervals
określony dla pliku referencyjnego jest nieprawidłowy. Pamiętaj, że podczas dezaktywowania pliku referencyjnego nie możesz określić przedziałów wykluczenia.
- Błędy
-
10 maja 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
YouTube nie identyfikuje już eksperymentalnych funkcji ani usług interfejsu API. Zamiast tego przygotowaliśmy listę interfejsów API YouTube, które podlegają wycofaniu.
8 kwietnia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Zmieniliśmy nazwę interfejsu API na YouTube Content ID API.
-
W zasobie
assetMatchPolicy
uległo zmianie kilka właściwości:- Wartość właściwości
kind
zmieniła się zyoutubePartner#policy
nayoutubePartner#assetMatchPolicy
. - Nowa właściwość
policyId
zawiera wartość, która jednoznacznie identyfikuje zapisany zasób zasad. - Wartość właściwości
rules[].subaction
jest teraz listą ciągów tekstowych, a nie ciągiem znaków. - Wartość właściwości
rules[].conditions.contentMatchType
jest teraz listą ciągów tekstowych, a nie ciągiem znaków. - Usługi
id
,name
idescription
zostały usunięte.
- Wartość właściwości
-
Dokumentacja metody
assetMatchPolicy.update
została zaktualizowana, aby uwzględnić fakt, że podczas jej wywoływania możesz ustawiać wartości dla właściwościpolicyId
lub obiekturules[]
. -
Zasób
claims
obsługuje teraz kilka nowych usług:nazwa usługi, Wartość Opis timeCreated
datetime
Data i godzina utworzenia roszczenia. matchInfo
object
Obiekt matchInfo
zawiera informacje o pasującej treści, która wygenerowała roszczenie. Te informacje są uwzględniane w zasobieclaim
tylko wtedy, gdy roszczenie zostało wygenerowane automatycznie, ponieważ przesłany film pasował do istniejącego pliku referencyjnego.matchInfo.referenceId
string
Unikalny identyfikator używany w YouTube do identyfikowania pliku referencyjnego reference
, który wygenerował dopasowanie.matchInfo.longestMatch
object
Obiekt longestMatch
zawiera informacje o najdłuższym dopasowaniu między plikiem referencyjnym a przesłanym filmem.matchInfo.longestMatch.durationSecs
unsigned long
Czas trwania dopasowania w sekundach. matchInfo.longestMatch.userVideoOffset
unsigned long
Opóźnienie rozpoczęcia dopasowania (w sekundach od początku przesłanego filmu). matchInfo.longestMatch.referenceOffset
unsigned long
Opóźnienie rozpoczęcia dopasowania, wyrażone w sekundach od początku pliku referencyjnego. matchInfo.totalMatch
object
Obiekt totalMatch
zawiera informacje o łącznej części przesłanego filmu, który pasował do pliku referencyjnego, oraz o łącznej części pliku referencyjnego, który pasował do przesłanego filmu. Wartości te mogą się różnić, jeśli dopasowane treści pojawiają się w pętli w przesłanym filmie lub pliku referencyjnym. Jeśli na przykład przesłany film zawiera 10-sekundowy klip z pliku referencyjnego, ale zostanie on powtórzony 6 razy, łączna liczba pasujących treści w przesłanym filmie będzie miała 60 sekund, ale łączna długość treści pasującej do pliku referencyjnego wyniesie tylko 10 sekund.matchInfo.totalMatch.userVideoDurationSecs
unsigned long
Całkowita długość (w sekundach) treści przesłanego filmu, która pasuje do pliku referencyjnego. matchInfo.totalMatch.referenceDurationSecs
unsigned long
Łączna długość (w sekundach) treści referencyjnych, które pasują do przesłanego filmu. origin
object
Obiekt origin
zawiera informacje opisujące źródło roszczenia.origin.source
string
Źródło roszczenia. -
Właściwość
policy
w zasobieclaims
została zaktualizowana, aby zaznaczyć, że nie można aktualizować wartości w przypadku roszczenia dotyczącego funkcji Podmień dźwięk. -
Nazwa właściwości
timeProvidedMs
zasobumetadataHistory
została zmieniona na timeProvided. -
Nazwa właściwości
timeProvidedMs
zasobuownershipHistory
została zmieniona na timeProvided. -
Zaktualizowaliśmy definicję metody
ownershipHistory.list
, aby pamiętać, że ta metoda pobiera tylko najnowsze dane dotyczące własności każdego właściciela treści. Jeśli jednak właściciel treści przesłał dane o własności za pomocą wielu źródeł danych (interfejsów API, źródła treści itp.), lista będzie zawierać najnowsze informacje dla każdego właściciela treści i źródła danych. -
W zasobie
policy
uległo zmianie kilka właściwości:- Nazwa właściwości
rule
została zmieniona na reguły. - Wartość właściwości
rules[].subaction
jest teraz listą ciągów tekstowych, a nie ciągiem znaków. - Wartość właściwości
rules[].conditions.contentMatchType
jest teraz listą ciągów tekstowych, a nie ciągiem znaków.
- Nazwa właściwości
-
Dokumentacja metod
policies.insert
ipolicies.update
została zaktualizowana, aby uwzględnić fakt, że podczas wywoływania tych metod można ustawiać wartości obiekturules[]
. -
Kilka metod interfejsu API obsługuje nowe typy błędów. Poniższa tabela przedstawia metody i krótkie opisy typów nowo obsługiwanych błędów. W wielu przypadkach dany typ może mieć wiele błędów. Jeśli na przykład spróbujesz wstawić zasób
asset
, w którym brakuje wymaganego pola metadanych, zostanie zwrócony błądrequired
. W rzeczywistości może istnieć więcej niż jedno wymagane pole metadanych, a każde z nich zwróci błąd i nieco inny komunikat.Więcej informacji znajdziesz w dokumentacji błędów poszczególnych metod lub na stronie błędów.
Metoda Błędy assets.insert
invalidValue
– pole metadanych zasobu zawiera nieprawidłową wartość.required
– brakuje wymaganego pola metadanych zasobu.
assets.update
assets.patch
forbidden
– aktualizowany zasób nie należy do partnera, który próbuje dokończyć aktualizację.invalidValue
– pole metadanych zasobu zawiera nieprawidłową wartość.notFound
– zasób jest powiązany z zasobem sezonu lub zasobem programu, którego nie można znaleźć.required
– brakuje wymaganego pola metadanych zasobu.
claims.insert
badRequest
– żądanie próbuje zgłosić roszczenie do filmu, ale roszczenie jest niedozwolone.
ownership.update
ownership.patch
badRequest
– żądanie określa całkowitą wartość własności w danym regionie przekraczającą 100 procent.
policies.insert
policies.patch
policies.update
conflictingPolicyRules
– zasada zawiera sprzeczne reguły.
-
Nowa strona Błędy zawiera listę błędów, które może zwrócić interfejs API. Strona zawiera błędy ogólne, które mogą występować w przypadku wielu różnych metod interfejsu API, a także błędy specyficzne dla tych metod.
18 stycznia 2013 r.
Ta aktualizacja zawiera następujące zmiany:
-
Nowo udokumentowana metoda
videoAdvertisingOptions.getEnabledAds
pozwala uzyskać szczegółowe informacje o typach reklam, które są dozwolone w przypadku określonego filmu przesłanego przez partnera lub użytkownika. -
Definicja parametru
ownershipRestriction
metodyassetSearch.list
została zaktualizowana, aby zwrócić uwagę, że domyślna wartość parametru tomine
, co oznacza, że interfejs API powinien pobierać tylko zasoby należące do bieżącego użytkownika. -
Dokumentacja metody
assets.list
odzwierciedla te zmiany:-
Parametr
id
jest teraz wymagany. -
Nowo obsługiwany parametr
fetchMatchPolicy
pozwala określić, czy żądanie do interfejsu API powinno pobierać także zasadę dopasowania ustawioną dla zasobu. -
Nowo obsługiwany parametr
fetchOwnership
pozwala określić, czy żądanie do interfejsu API powinno też pobierać dane o własności zasobu. -
Lista zasobów zwracanych przez interfejs API nie zawiera już danych podziału na strony. W związku z tym z odpowiedzi interfejsu API usunięto właściwość
nextPageToken
i obiektpageInfo
. ObiektpageInfo
zawierał właściwościtotalResults
,resultsPerPage
istartIndex
.
-
-
Dokumentacja zasobów
claims
została zaktualizowana, aby uwzględnić, że podczas tworzenia roszczenia musisz określić zasadę. (YouTube nie stosuje obecnie domyślnych zasad użytkowania, jeśli wstawione roszczenie nie określa żadnej zasady, chociaż w dokumentacji wcześniej stwierdzono, że tak się stało). -
Właściwość
hasUnpublishedDraft
zasobupolicy
została wycofana. -
Nowo obsługiwany parametr
id
metodypolicies.list
pozwala zidentyfikować zapisane zasady, które ma pobrać żądanie do interfejsu API. Można pobierać tylko zasady należące do aktualnie uwierzytelnionego właściciela treści. -
Definicja parametru
releaseClaims
metodyreferences.patch
ireferences.update
została zaktualizowana, aby zwrócić uwagę, że parametr działa tylko wtedy, gdy stan roszczenia jest zmieniany nainactive
. W takim przypadku możesz też ustawić wartość parametrureleaseClaims
natrue
, aby zrezygnować ze wszystkich roszczeń dotyczących dopasowań wygenerowanych przez plik referencyjny. -
Zaktualizowaliśmy metody
references.patch
ireferences.update
, by pamiętać, że podczas wykonywania jednej z tych operacji musisz określić stan odwołania. -
Kilka metod interfejsu API obsługuje nowe typy błędów. Poniższa tabela przedstawia metodę i nowo obsługiwane błędy:
Metoda Typ błędu Szczegóły błędu Opis guideCategories.list
notFound
Unavailable
Nie można znaleźć zasobu, dla którego próbujesz pobrać zasadę dopasowania. claims.get
notFound
Unavailable
Nie można znaleźć roszczenia, które próbujesz odzyskać. ownership.patch
invalidValue
Unavailable
Podane przez Ciebie dane dotyczące własności zawierają nieprawidłową wartość. ownership.update
invalidValue
Unavailable
Podane przez Ciebie dane dotyczące własności zawierają nieprawidłową wartość.