Channels: update

Interfejs API obsługuje teraz oznaczanie kanału lub filmów jako "przeznaczone dla dzieci". Oprócz tego zasoby channel i video zawierają teraz właściwość, która określa, czy dany kanał lub film jest oznaczony jako "przeznaczony dla dzieci" . 10 stycznia 2020 r. zaktualizowaliśmy też Warunki korzystania z usług YouTube API i Zasady dla deweloperów . Więcej informacji znajdziesz w historii zmian interfejsu YouTube Data API i Warunków korzystania z usług YouTube API.

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

Wpływ na limit: wywołanie tej metody kosztuje 50 jednostek limitu.

Częste 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 autoryzacji znajdziesz w artykule Implementowanie 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 parametry obsługiwane przez to zapytanie. Wszystkie wymienione parametry są parametrami zapytania.

Parametry
Parametry wymagane
part string
Parametr part pełni w tej operacji 2 funkcje. Określa właściwości, które operacja zapisu ustawi, oraz 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 jedną z tych części).

Pamiętaj, że ta metoda zastępuje dotychczasowe wartości wszystkich właściwości, które można zmieniać, a które znajdują się w części określonej przez wartość parametru.
Parametry opcjonalne
onBehalfOfContentOwner string
Ten parametr 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 YouTube, którzy są właścicielami wielu różnych kanałów YouTube i nimi zarządzają. Umożliwia on właścicielom treści jednorazowe uwierzytelnienie i uzyskanie dostępu do wszystkich danych dotyczących filmów i kanałów bez konieczności podawania danych uwierzytelniających dla każdego kanału. Rzeczywiste konto CMS, na którym użytkownik się uwierzytelnia, musi być połączone z określonym właścicielem treści w YouTube.

Ten parametr należy podać, jeśli żądanie jest uwierzytelniane za pomocą danych logowania użytkownika CMS będącego właścicielem treści, który działa na zarządzanym kanale. Jeśli ten parametr zostanie pominięty, żądanie zostanie wykonane w bezpośrednim kontekście uwierzytelnionego użytkownika i zwróci błąd HTTP 403 Forbidden.

Treść żądania

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

  • Musisz określić 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 i nie określisz w nim wartości właściwości, która już ma wartość, dotychczasowa wartość tej właściwości zostanie usunięta.

Odpowiedź

Jeśli operacja się uda, ta metoda zwróci 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 YouTube Data API – błędy.

Typ błędu Szczegóły błędu Opis
badRequest (400) brandingValidationError Jedna z wartości w obiekcie brandingSettings nie przeszła weryfikacji. Aby pobrać dotychczasowe ustawienia kanału, użyj metody channels.list i zaktualizuj wartości właściwości zgodnie z wytycznymi w dokumentacji zasobu channels.
badRequest (400) channelTitleUpdateForbidden Podczas aktualizowania kanału brandingSettings part 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ść tej właściwości, interfejs API zwróci błąd.
badRequest (400) defaultLanguageNotSetError Aby zaktualizować localizations, musisz ustawić defaultLanguage.
badRequest (400) invalidBrandingOption Jedno z określonych ustawień marki nie istnieje. Aby pobrać prawidłowe wartości, użyj metody channels.list i zaktualizuj je zgodnie z wytycznymi w dokumentacji zasobu channels.
badRequest (400) invalidCustomMessage Metadane żądania zawierają nieprawidłową wiadomość niestandardową. Sprawdź wartość właściwości invideoPromotion.items[].customMessage w zasobie, który został wysłany w żądaniu.
badRequest (400) invalidDuration Metadane żądania zawierają nieprawidłowy czas trwania w części invideoPromotion.
badRequest (400) invalidDuration Metadane żądania zawierają nieprawidłowy typ pozycji określający, jak promowany element jest umieszczony w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.position.type w zasobie, który został wysłany w żądaniu.
badRequest (400) invalidRecentlyUploadedBy Metadane żądania zawierają nieprawidłowy identyfikator kanału. Sprawdź wartość właściwości invideoPromotion.items[].id.recentlyUploadedBy w zasobie, który został wysłany w żądaniu.
badRequest (400) invalidTimingOffset Metadane żądania zawierają nieprawidłowy przesunięcie czasowe w części invideoPromotion.
badRequest (400) invalidTimingOffset Metadane żądania zawierają nieprawidłowe przesunięcie czasowe określające, kiedy promowany element ma być wyświetlany w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.timing.offsetMs w zasobie, który został wysłany w żądaniu.
badRequest (400) invalidTimingType Metadane żądania zawierają nieprawidłową metodę określania, kiedy promowany element ma być wyświetlany w odtwarzaczu wideo. Sprawdź wartość właściwości invideoPromotion.timing.type w zasobie, który został wysłany w żądaniu.
badRequest (400) localizationValidationError Jedna z wartości w obiekcie localizations nie przeszła weryfikacji. Aby pobrać prawidłowe wartości, użyj metody channels.list i zaktualizuj je zgodnie z wytycznymi w dokumentacji zasobu channels.
badRequest (400) tooManyPromotedItems W części invideoPromotion przekroczono dozwoloną liczbę 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 próbuje zaktualizować żądanie do interfejsu API. Sprawdź wartość właściwości id w zasobie channel wysłanym w żądaniu, aby upewnić się, że identyfikator kanału jest prawidłowy.
forbidden (403) websiteLinkNotAllowed Określony adres URL witryny jest niedozwolony.
notFound (404) channelNotFound Nie można znaleźć kanału określonego w parametrze id.
notFound (404) channelNotFound Nie można znaleźć kanału określonego w parametrze id lub nie ma on opcji marki.
notFound (404) unknownChannelId Nie znaleziono określonego identyfikatora kanału.
notFound (404) unknownChannelId Nie znaleziono określonego identyfikatora kanału recentlyUploadedBy.
notFound (404) unknownVideoId Nie można znaleźć identyfikatora filmu określonego jako promowany element.
required (400) requiredItemIdType Metadane żądania muszą określać typ produktu w części invideoPromotion.
required (400) requiredItemId Metadane żądania muszą określać identyfikator produktu w części invideoPromotion.
required (400) requiredTimingOffset Metadane żądania muszą określać domyślne przesunięcie czasowe, aby YouTube mógł określić, kiedy wyświetlać promowany element. Ustaw wartość właściwości invideoPromotion.defaultTiming.offsetMs w zasobie, który został wysłany w żądaniu.
required (400) requiredTimingOffset Metadane żądania muszą określać przesunięcie czasowe, aby YouTube mógł określić, kiedy wyświetlać promowany element. Ustaw wartość właściwości invideoPromotion.timing.offsetMs w zasobie, który został wysłany w żądaniu.
required (400) requiredTimingType Metadane żądania muszą określać metodę określania czasu, aby YouTube mógł określić, kiedy wyświetlać promowany element. Ustaw wartość właściwości invideoPromotion.defaultTiming.type w zasobie, który został wysłany w żądaniu.
required (400) requiredTimingType Metadane żądania muszą określać metodę określania czasu, aby YouTube mógł określić, kiedy wyświetlać promowany element. Ustaw wartość właściwości invideoPromotion.timing.type w zasobie, który został wysłany w żądaniu.
required (400) requiredTiming Metadane żądania muszą określać czas dla każdego elementu w części invideoPromotion.
required (400) requiredVideoId Metadane żądania muszą określać identyfikator filmu, aby zidentyfikować promowany element.
required (400) requiredWebsiteUrl Metadane żądania muszą określać adres URL witryny w części invideoPromotion. Ustaw wartość właściwości invideoPromotion.items[].id.websiteUrl w zasobie, który został wysłany w żądaniu.

Wypróbuj

Aby wywołać ten interfejs API i zobaczyć żądanie do interfejsu API oraz odpowiedź, użyj APIs Explorer.