YouTube Content ID API – historia zmian

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:

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 i Song Erase. Odpowiednie wartości interfejsu API (audio_removed i song_erased) zostały dyskretnie zignorowane i nie są już udokumentowane.
  • Pole channel_whitelisted zostało zastąpione przez channel_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 i video_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 i pageInfo.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 na active. Więcej informacji zawiera definicja właściwości status zasobu claim.
  • Dokumentacja zasobów claim i claimSearch została zaktualizowana, aby odzwierciedlić dodanie nowego obiektu studioInfo, który zawiera linki do stron w YouTube Studio związanych z roszczeniem.
  • Lista wartości obsługiwanych przez parametr origin metody claimSearch.list uległa zmianie. Ten parametr obsługuje teraz 4 dodatkowe wartości: batchTool, inProductShorts, melodyMatch i youTubeAdmin. Dodatkowo wartości dropboxUpload i webUpload 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.

  • Zaktualizowaliśmy definicję właściwości uploaderName w przypadku metody validator.validate, aby zaznaczyć, że wartość nie wskazuje partnera w zakresie treści, który przesyła dane, ale jest to wartość typu web-google lub yt-google wskazująca konkretne konto przesyłającego używane przez właściciela treści.

  • Właściwość status zasobu reference nie używa już wartości duplicate_on_hold sygnalizowania, że odwołanie jest duplikatem innego odwołania. Jeśli odwołanie jest duplikatem, wartość właściwości status jest teraz ustawiona na inactive, a wartość właściwości statusReason to REASON_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 metoda assetShares.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 zasobu contentOwnerAdvertisingOptions 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 i assets.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 parametru assetId 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[] zasobu claim 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[] zasobu contentOwnerAdvertisingOptions można teraz aktualizować podczas wywoływania metod contentOwnerAdvertisingOptions.patch lub contentOwnerAdvertisingOptions.update.

    • Właściwość allowedOptions.autoGeneratedBreaks zasobu contentOwnerAdvertisingOptions 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 HTTP 500 (Internal Server Error), zwłaszcza wtedy, gdy żądanie pobiera dane dla wielu zasobów, a wartość parametru fetchMatchPolicy wynosi effective. Jeśli żądanie assets.list zawiera wiele identyfikatorów zasobów i zwraca błąd 500, 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 żądanie references.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 metody references.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 i createdAfter metody assetSearch.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 zasobu reference 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ści fpDirect na true w przesłanym zasobie reference.

      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
    Metody campaigns.insert i campaigns.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) canNotCreatePartnerUploadedClaimOnCompositionOrSoundRecordingAssets
    Metoda claims.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
    Metoda claims.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
    Metoda references.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
    Metoda references.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
    Metoda videoAdvertisingOptions.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 i delete campaign.

  • Interfejs API obsługuje kilka nowych błędów w nowych metodach campaigns.get, campaigns.insert, campaigns.update i campaigns.delete.

30 marca 2015 r.

Ta aktualizacja zawiera następujące zmiany:

  • Aktualizacje istniejących zasobów i metod

    • Nowy parametr isrcs metody assetSearch.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 zasobu claimHistory 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 metody claimSearch.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ść parametru status na appealed, disputed, pending, potential lub routedForReview, wyniki są sortowane według czasu wygaśnięcia okresu weryfikacji roszczenia.

    • Metody ownership.update i ownership.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 metod assets.get i assets.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 metod assets.list, claims.list, contentOwners.list, policies.list, publishers.list i references.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 parametr isrcs 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 to public lub unlisted.
    notModified (304) blockOutsideOwnershipUnchanged Metoda claims.update zwraca ten błąd, jeśli flaga blockOutsideOwnership żą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 metody claimSearch.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 zasobu claimHistory 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 zasobu claim, 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 i assetLabels.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 i assetLabels.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 i assets.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 i claims.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 i assets.update nie zwracają już błędu badRequest w przypadku niektórych zasobów, jeśli zasób w treści żądania nie zawiera właściwości metadataMine.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 zasobu contentOwner.
    • 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 metody contentOwners.list powinien określać nowy identyfikator, a nie kod partnera.

  • Aktualizacje istniejących zasobów i metod

    • Nowy parametr metadataSearchFields metody assetSearch.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 zasobu claim określa zasadę, którą YouTube faktycznie stosuje do roszczenia. Wartość obiektu to zasób policy. 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:

      1. 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.

      2. 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 zasobu claimHistory 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ób assetLabel dla dowolnej wcześniej niezdefiniowanej etykiety.

  • Aktualizacje istniejących zasobów i metod

    • Właściwość label[] zasobu asset 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 metody assets.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 i assetLabels.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 zasobu contentOwner.
    • 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 metody contentOwners.list powinien określać 22-znakowy identyfikator zamiast kodu partnera.

  • 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ć parametru includeAnyProvidedLabel, aby nakazać interfejsowi API zwracanie zasobów pasujących do dowolnej z podanych etykiet.
      • includeAnyProvidedLabel: używany w połączeniu z parametrem labels informuje interfejs API o zwracanych zasobach, które są powiązane z dowolnymi etykietami określonymi w wartości parametru labels.

    • Zasób claimHistory zawiera teraz te nowe właściwości:

    • 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 parametrem videoId 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łąd required. 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ść parametru type 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
    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.

    • 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 lub videoMatch, dla których chcesz znaleźć roszczenia.
      • status: ogranicza wyniki, tak aby zawierały tylko roszczenia o określonym stanie.

    • Właściwość status zasobu claim obsługuje teraz te dodatkowe wartości: appealed, disputed, potential, takedown i unknown.

    • Nowa właściwość blockOutsideOwnership zasobu claim 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 zasobu contentOwnerAdvertisingOption 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 zakres https://www.googleapis.com/auth/youtubepartner-content-owner-readonly.

    • Nowa właściwość timeUpdated zasobu policy określa czas ostatniej aktualizacji zasady.

    • Metoda policies.list obsługuje teraz opcjonalny parametr sort, 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 zasobu referenceConflict 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 zasobu videoAdvertisingOption 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łąd required. 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 – parametr pageToken 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 i internalError, 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. Metoda referenceConflicts.list umożliwia pobranie listy nierozwiązanych konfliktów plików referencyjnych powiązanych z autoryzowanym właścicielem treści. Metoda referenceConflicts.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 na effective podczas wywoływania metody assets.get lub assets.list. W odpowiedzi interfejsu API obiekt matchPolicyEffective w każdym zwróconym zasobie asset zawiera obowiązującą zasadę dopasowania, która obowiązuje w przypadku tego zasobu.

    • Nowy obiekt ownershipConflicts zasobu asset zawiera informacje o konfliktach własności. Struktura obiektu jest podobna do struktury zasobu ownership, 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 i assets.get obsługują teraz nowy parametr fetchOwnershipConflicts. 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 to false, co oznacza, że konflikty własności nie są zwracane.

    • Definicja parametru q metody assetSearch.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ści contentType. 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 obiekcie metadataMine, a nie w obiekcie metadata, 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 i patch, 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ób claimHistory 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 lub audiovisual) 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 zasobu asset i właściwość status zasobu claim.

    • W przypadku metod assets.get i assets.list interfejs API obsługuje teraz rozdzielane przecinkami wartości parametrów żądania fetchMetadata i fetchOwnership, 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 zasobach get, list, insert, update lub patch asset.

      • Obiekt metadata został wycofany i zastąpiony obiektami metadataMine i metadataEffective. Dzięki nim zasób asset 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 obiektami ownershipMine i ownershipEffective.

      • Obiekt matchPolicy został zastąpiony obiektem matchPolicyMine. (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 na mine, odpowiedź interfejsu API będzie zawierała obiekty metadata i metadataMine. Oba będą zawierać te same dane. Możliwość ustawienia atrybutu fetchMetadata=mine była obsługiwana przed aktualizacją funkcji, która umożliwiała pobieranie wielu wersji metadanych.

      Jeśli jednak parametr fetchMetadata ma wartość mine,effective, odpowiedź interfejsu API będzie zawierać obiekty metadataMine i metadataEffective, ale nie będzie obiektu metadata. (Możliwość ustawiania funkcji fetchMetadata=mine,effective nie była obsługiwana przed tą aktualizacją funkcji, więc nie ma potrzeby zwracania obiektu metadata w celu zapewnienia zgodności wstecznej). Ta sama zasada dotyczy też parametrów fetchOwnership i fetchMatchPolicy.

      Na potrzeby zgodności wstecznej żądanie wysyłane do insert, update lub patch zasobu asset może zawierać zarówno obiekt metadataMine, jak i obiekt metadata. Ta sama zasada dotyczy konfigurowania danych o własności lub zasady dopasowania zasobu asset.

    • Parametry assetId, q i videoId metody claims.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ści general[].ratio, performance[].ratio, synchronization[].ratio i mechanical[].ratio mają teraz format treści double, a nie integer.

    • Definicja właściwości rules[].action zasobu policy zawiera teraz prawidłowe wartości tej właściwości: block, monetize, takedown i track. Pamiętaj jednak, że nie możesz używać interfejsu API, aby zastosować zasadę usuwania w sprawie roszczenia.

    • Nowa właściwość claimId zasobu reference 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[] zasobu reference 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 zasobie reference wysyłanym w treści żądania references.update lub references.patch.

    • Dokumentacja została poprawiona, aby poprawnie opisać format odpowiedzi interfejsu API w metodzie videoAdvertisingOptions.getEnabledAds. Odpowiedź, która jest zasobem youtubePartner#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łąd required. 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 i required, które były wcześniej powiązane z właściwościami podrzędnymi obiektu metadata, są teraz powiązane z tymi samymi właściwościami podrzędnymi w obiekcie metadataMine.
      claimHistory.get
      • notFound – nie można znaleźć roszczenia, dla którego próbujesz pobrać historię.
      • required – w żądaniu nie określono wartości parametru claimId.
      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 i id).
      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 lub lyric, a nie general 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łanie takedown. Ten błąd, który zgłasza przyczynę błędu invalidPolicyTakedownAction, zastępuje wycofany błąd invalidPolicyConditionalTakedown.
      references.insert
      • badRequest – żądanie musi wysłać plik multimedialny lub określić wartość parametru żądania claimId. Żądanie nie może jednak wysłać pliku multimedialnego oraz określić wartość parametru żądania claimId.
      • 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ści fpDirect podczas tworzenia pliku referencyjnego.
      • internalError – wystąpił problem z przesłanym plikiem multimedialnym.
      • invalidValue – wartość parametru żądania contentType, assetId lub claimId jest nieprawidłowa. Błąd wskazuje nieprawidłową wartość.
      • notFound – nie można odnaleźć określonego zasobu lub roszczenia. Sprawdź wartości parametrów assetId i claimId w żądaniu.
      • required – w żądaniu musi być określona wartość parametru contentType.
      references.insert
      references.update
      references.patch
      • invalidValueexcludedIntervals określony dla pliku referencyjnego jest nieprawidłowy. Pamiętaj, że podczas dezaktywowania pliku referencyjnego nie możesz określić przedziałów wykluczenia.

10 maja 2013 r.

Ta aktualizacja zawiera następujące zmiany:

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ę z youtubePartner#policy na youtubePartner#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 i description zostały usunięte.

  • 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ści policyId lub obiektu rules[].

  • 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 zasobie claim 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 zasobie claims 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 zasobu metadataHistory została zmieniona na timeProvided.

  • Nazwa właściwości timeProvidedMs zasobu ownershipHistory 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.

  • Dokumentacja metod policies.insert i policies.update została zaktualizowana, aby uwzględnić fakt, że podczas wywoływania tych metod można ustawiać wartości obiektu rules[].

  • 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łąd required. 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 metody assetSearch.list została zaktualizowana, aby zwrócić uwagę, że domyślna wartość parametru to mine, 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 obiekt pageInfo. Obiekt pageInfo zawierał właściwości totalResults, resultsPerPage i startIndex.

  • 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 zasobu policy została wycofana.

  • Nowo obsługiwany parametr id metody policies.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 metody references.patch i references.update została zaktualizowana, aby zwrócić uwagę, że parametr działa tylko wtedy, gdy stan roszczenia jest zmieniany na inactive. W takim przypadku możesz też ustawić wartość parametru releaseClaims na true, aby zrezygnować ze wszystkich roszczeń dotyczących dopasowań wygenerowanych przez plik referencyjny.

  • Zaktualizowaliśmy metody references.patch i references.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ść.