Channels: update

Interfejs API umożliwia teraz oznaczenie kanału lub filmów jako przeznaczonych dla dzieci. Dodatkowo zasoby channel i video zawierają teraz właściwość, która wskazuje, że kanał lub film jest oznaczony jako przeznaczony dla dzieci. 10 stycznia 2020 r. zaktualizowaliśmy też Warunki korzystania z usług interfejsu API YouTube oraz Zasady dla deweloperów. Więcej informacji znajdziesz w historii zmian interfejsu YouTube Data APIWarunków korzystania z usług interfejsu API YouTube.

Aktualizuje metadane kanału. Pamiętaj, że ta metoda obsługuje tylko aktualizacje obiektów brandingSettings, invideoPromotionlocalizations zasobu channel oraz ich właściwości podrzędnych.

Wpływ na limit: wywołanie tej metody ma koszt związany z limitem wynoszący 50 jednostek.

Typowe zastosowania

Żądanie

Żądanie HTTP

PUT https://www.googleapis.com/youtube/v3/channels

Autoryzacja

To żądanie wymaga autoryzacji z co najmniej jednym z tych zakresów. Więcej informacji o uwierzytelnianiu i autoryzowaniu znajdziesz w artykule Wdrażanie autoryzacji OAuth 2.0.

Zakres
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Parametry

W tabeli poniżej znajdziesz listę parametrów obsługiwanych przez to zapytanie. Wszystkie wymienione parametry są parametrami zapytania.

Parametry
Parametry wymagane
part string
Parametry part służą w tej operacji do dwóch celów. Określa właściwości, które zostaną ustawione przez operację zapisu, a także właściwości, które będą uwzględnione w odpowiedzi interfejsu API.

Interfejs API pozwala ustawić wartość parametru tylko na brandingSettings, invideoPromotion lub localizations. (w jednym żądaniu możesz zaktualizować tylko jeden z tych elementów).

Pamiętaj, że ta metoda zastępuje dotychczasowe wartości wszystkich właściwości, które można zmienić, zawartych w części określonej przez wartość parametru.
Parametry opcjonalne
onBehalfOfContentOwner string
Tego parametru można używać tylko w prawidłowo autoryzowanym żądaniu.

Parametr onBehalfOfContentOwner wskazuje, że uwierzytelniony użytkownik działa w imieniu właściciela treści określonego w wartości parametru. Ten parametr jest przeznaczony dla partnerów treści w YouTube, którzy są właścicielami wielu kanałów YouTube i nimi zarządzają. Umożliwia ona właścicielom treści jednorazową weryfikację i uzyskanie dostępu do wszystkich danych o filmach i kanałach bez konieczności podawania danych logowania do każdego kanału. Rzeczywiste konto CMS, za pomocą którego użytkownik się uwierzytelnia, musi być powiązane z określonym właścicielem treści w YouTube.

Treść żądania

W treści żądania podaj zasób channel. W przypadku tego zasobu:

  • Musisz podać wartość tych właściwości:

    • id
  • Możesz ustawić wartości tych właściwości:

    • brandingSettings.channel.country
    • brandingSettings.channel.description
    • brandingSettings.channel.defaultLanguage
    • brandingSettings.channel.keywords
    • brandingSettings.channel.trackingAnalyticsAccountId
    • brandingSettings.channel.unsubscribedTrailer
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description
    • status.selfDeclaredMadeForKids

    Jeśli przesyłasz żądanie aktualizacji, a w prośbie nie ma wartości właściwości, która już ma wartość, dotychczasowa wartość właściwości zostanie usunięta.

Odpowiedź

Jeśli operacja się powiedzie, zwróci ona w treści odpowiedzi zasób channel.

Błędy

W tabeli poniżej znajdziesz komunikaty o błędach, które interfejs API może zwrócić w odpowiedzi na wywołanie tej metody. Więcej informacji znajdziesz w artykule Błędy w interfejsie YouTube Data API.

Typ błędu Szczegóły błędu Opis
badRequest (400) brandingValidationError Jedna z wartości w obiekcie brandingSettings nie przeszła walidacji. Użyj metody channels.list, aby pobrać istniejące ustawienia kanału, a następnie zaktualizuj wartości właściwości zgodnie ze wskazówkami podanymi w dokumentacji zasobu channels.
badRequest (400) channelTitleUpdateForbidden Podczas aktualizowania brandingSettings part kanału musisz ustawić wartość właściwości brandingSettings.channel.title na bieżący tytuł kanału lub pominąć tę właściwość. Jeśli zmienisz wartość właściwości, interfejs API zwróci błąd.
badRequest (400) defaultLanguageNotSetError Ustawienie defaultLanguage musi być ustawione na aktualizację localizations.
badRequest (400) invalidBrandingOption Jeden z ustawień brandingu, które zostały przez Ciebie określone, nie istnieje. Aby pobrać prawidłowe wartości, użyj metody channels.list i zaktualizuj je zgodnie ze wskazówkami podanymi w dokumentacji zasobu channels.
badRequest (400) invalidCustomMessage Metadane żądania podają nieprawidłową wiadomość niestandardową. Sprawdź wartość właściwości invideoPromotion.items[].customMessage w zasobie, do którego wysłano żądanie.
badRequest (400) invalidDuration Metadane żądania podają nieprawidłowy czas trwania w części invideoPromotion.
badRequest (400) invalidDuration Metadane żądania podają nieprawidłowy typ pozycji, który określa sposób umieszczenia promowanego produktu w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.position.type w zasobie, do którego wysłano żądanie.
badRequest (400) invalidRecentlyUploadedBy Metadane żądania zawierają nieprawidłowy identyfikator kanału. Sprawdź wartość właściwości invideoPromotion.items[].id.recentlyUploadedBy w zasobie, do którego wysłano żądanie.
badRequest (400) invalidTimingOffset Metadane żądania podają nieprawidłowy przesunięcie czasu w części invideoPromotion.
badRequest (400) invalidTimingOffset Metadane żądania podają nieprawidłowy przesunięcie czasu, który służy do określania, kiedy promowany produkt powinien się wyświetlić w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.timing.offsetMs w zasobie, do którego wysłano żądanie.
badRequest (400) invalidTimingType Metadane żądania określają nieprawidłową metodę określania czasu wyświetlania promowanego produktu w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.timing.type w zasobie, do którego wysłano żądanie.
badRequest (400) localizationValidationError Jedna z wartości w obiekcie localizations nie przeszła walidacji. Aby pobrać prawidłowe wartości, użyj metody channels.list i pamiętaj, aby je zaktualizować zgodnie z wytycznymi podanymi w dokumentacji zasobu kanałów.
badRequest (400) tooManyPromotedItems W części invideoPromotion została przekroczona dozwolona liczba promowanych elementów.
forbidden (403) channelForbidden Kanał określony w parametrze id nie obsługuje żądania lub żądanie nie jest prawidłowo autoryzowane.
forbidden (403) promotedVideoNotAllowed Nie można znaleźć kanału, który ma być aktualizowany przez żądanie interfejsu API. Aby się upewnić, że identyfikator kanału jest prawidłowy, sprawdź wartość właściwości id w zasobie channel, który wysłał żądanie.
forbidden (403) websiteLinkNotAllowed Podany adres URL witryny jest niedozwolony.
notFound (404) channelNotFound Nie udało się znaleźć kanału określonego w parametrze id.
notFound (404) channelNotFound Nie udało się znaleźć kanału określonego przez parametr id lub nie ma on opcji związanych z brandingiem.
notFound (404) unknownChannelId Nie znaleziono podanego identyfikatora kanału.
notFound (404) unknownChannelId Nie znaleziono podanego identyfikatora kanału, który ostatnio przesłał treści.
notFound (404) unknownVideoId Nie udało się znaleźć identyfikatora filmu określonego jako promowany element.
required (400) requiredItemIdType Metadane żądania muszą określać typ elementu w sekcji invideoPromotion.
required (400) requiredItemId Metadane żądania muszą zawierać identyfikator produktu w części invideoPromotion.
required (400) requiredTimingOffset Metadane żądania muszą zawierać domyślny przesunięcie czasu, aby YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.defaultTiming.offsetMs w zasobie, do którego wysyłane jest żądanie.
required (400) requiredTimingOffset Metadane żądania muszą zawierać przesunięcie czasowe, aby YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.timing.offsetMs w zasobie, który wysyła żądanie.
required (400) requiredTimingType Metadane żądania muszą zawierać metodę określania czasu, aby YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.defaultTiming.type w zasobie, do którego wysyłane jest żądanie.
required (400) requiredTimingType Metadane żądania muszą zawierać metodę określania czasu, aby YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.timing.type w zasobie, który wysyła żądanie.
required (400) requiredTiming Metadane żądania muszą określać czas trwania każdego elementu w części invideoPromotion.
required (400) requiredVideoId Metadane żądania muszą zawierać identyfikator filmu, który umożliwia zidentyfikowanie promowanego produktu.
required (400) requiredWebsiteUrl W metadanych żądania w części invideoPromotion musi być podany URL witryny. Ustaw wartość właściwości invideoPromotion.items[].id.websiteUrl w zasobie, który wysyła żądanie.

Wypróbuj

Użyj adresu APIs Explorer, aby wywołać ten interfejs API i zobaczyć żądanie oraz odpowiedź interfejsu API.