Channels: update

Interfejs API umożliwia teraz oznaczanie kanału lub filmów jako przeznaczonych dla dzieci. Zasoby channel i video zawierają teraz także właściwość, która określa, czy dany kanał lub film jest „przeznaczony dla dzieci”. 10 stycznia 2020 r. zaktualizowaliśmy również Warunki korzystania z usług YouTube API oraz zasady dla deweloperów. Aby dowiedzieć się więcej, zapoznaj się z historiami zmian usługi YouTube Data API oraz Warunkami korzystania z usług interfejsu YouTube API.

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

Wpływ na limit: wywołanie tej metody ma koszt limitu wynoszący 50 jednostek.

Typowe przypadki użycia

Prośba

Żądanie HTTP

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

Upoważnienie

To żądanie wymaga autoryzacji z użyciem co najmniej jednego z tych zakresów (więcej informacji o uwierzytelnianiu i autoryzacji).

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 służy w tej operacji do 2 celów. Wskazuje on właściwości, które ustawi operacja zapisu, a także właściwości uwzględnione w odpowiedzi interfejsu API.

Obecnie interfejs API pozwala na ustawienie tylko wartości brandingSettings, invideoPromotion lub localizations. (Możesz zaktualizować dowolną z tych części, przesyłając jedno żądanie).

Pamiętaj, że ta metoda zastępuje istniejące wartości w przypadku wszystkich zmiennych właściwości 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 jego wartości. Jest on przeznaczony dla dostawców treści w YouTube, którzy mają wiele różnych kanałów w YouTube i nimi zarządzają. Dzięki niej właściciele treści mogą jednorazowo uwierzytelnić się i uzyskiwać dostęp do wszystkich swoich filmów oraz danych dotyczących kanałów bez konieczności podawania danych uwierzytelniających dla każdego kanału z osobna. Konto CMS, na którym użytkownik się uwierzytelnia, musi być powiązane z określonym właścicielem treści YouTube.

Treść żądania

Podaj zasób kanału w treści żądania. W przypadku tego zasobu:

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

    • id

  • Możesz ustawić wartości dla 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 prośbę o aktualizację usługi, która ma już wartość, ale nie jest w niej określona, obecna wartość usługi zostanie usunięta.

Odpowiedź

Jeśli operacja się uda, metoda zwróci zasób kanału w treści odpowiedzi.

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 szczegółów znajdziesz w dokumentacji komunikatów o błędach.

Typ błędu Szczegóły błędu Opis
badRequest (400) brandingValidationError Jedna z wartości obiektu brandingSettings nie przeszła weryfikacji. Użyj metody channels.list, aby pobrać dotychczasowe ustawienia kanału i zaktualizować wartości właściwości zgodnie z wytycznymi podanymi w dokumentacji zasobów channels.
badRequest (400) channelTitleUpdateForbidden Aktualizując brandingSettings part kanału, musisz ustawić wartość właściwości brandingSettings.channel.title na aktualny 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 defaultLanguage musi być skonfigurowany do aktualizowania localizations.
badRequest (400) invalidBrandingOption Jedno z podanych przez Ciebie ustawień marki nie istnieje. Aby pobrać prawidłowe wartości, użyj metody channels.list i zaktualizuj je zgodnie ze wskazówkami podanymi w dokumentacji zasobów channels.
badRequest (400) invalidCustomMessage Metadane żądania określają nieprawidłowy komunikat niestandardowy. Sprawdź wartość właściwości invideoPromotion.items[].customMessage w zasobie wysłanym przez żądanie.
badRequest (400) invalidDuration Metadane żądania określają nieprawidłowy czas trwania w części InvideoPromotion.
badRequest (400) invalidDuration Metadane żądania określają nieprawidłowy typ pozycji decydujący o pozycji promowanego elementu w odtwarzaczu. Sprawdź wartość właściwości invideoPromotion.position.type w zasobie wysłanym przez żądanie.
badRequest (400) invalidRecentlyUploadedBy Metadane żądania określają nieprawidłowy identyfikator kanału. Sprawdź wartość właściwości invideoPromotion.items[].id.recentlyUploadedBy w zasobie wysłanym przez żądanie.
badRequest (400) invalidTimingOffset Metadane żądania określają nieprawidłowe przesunięcie czasu w części InvideoPromotion.
badRequest (400) invalidTimingOffset Metadane żądania określają nieprawidłowe przesunięcie czasu, które określa, kiedy promowany element ma zostać wyświetlony w odtwarzaczu. Sprawdź wartość właściwości invideoPromotion.timing.offsetMs w zasobie wysłanym przez żądanie.
badRequest (400) invalidTimingType Metadane żądania określają nieprawidłową metodę określającą, kiedy promowany element powinien pojawić się w odtwarzaczu. Sprawdź wartość właściwości invideoPromotion.timing.type w zasobie wysłanym przez żądanie.
badRequest (400) localizationValidationError Jedna z wartości obiektu localizations nie przeszła weryfikacji. Aby pobrać prawidłowe wartości, użyj metody channels.list i zaktualizuj je zgodnie ze wskazówkami podanymi w dokumentacji zasobów kanałów.
badRequest (400) tooManyPromotedItems Przekroczono liczbę dozwolonych promowanych produktów w części InvideoPromotion.
forbidden (403) channelForbidden Kanał podany 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 żądanie interfejsu API próbuje zaktualizować. Sprawdź wartość właściwości id w zasobie channel, do którego zostało wysłane żądanie, aby upewnić się, że identyfikator kanału jest prawidłowy.
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 można znaleźć kanału określonego przez parametr id lub nie ma on opcji budowania marki.
notFound (404) unknownChannelId Nie znaleziono podanego identyfikatora kanału.
notFound (404) unknownChannelId Nie znaleziono podanego identyfikatora kanału lastUploadBy.
notFound (404) unknownVideoId Nie udało się znaleźć identyfikatora filmu określonego jako promowany produkt.
required (400) requiredItemIdType Metadane żądania muszą określać typ produktu w części InvideoPromotion.
required (400) requiredItemId Metadane żądania muszą określać identyfikator produktu dla części invideoPromotion.
required (400) requiredTimingOffset Metadane żądania muszą określać domyślne przesunięcie czasu, tak aby serwis YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.defaultTiming.offsetMs w zasobie wysyłanym przez żądanie.
required (400) requiredTimingOffset Metadane żądania muszą określać opóźnienie, tak aby serwis YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.timing.offsetMs w zasobie wysyłanym przez żądanie.
required (400) requiredTimingType Metadane żądania muszą określać metodę realizacji czasu, tak aby serwis YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.defaultTiming.type w zasobie wysyłanym przez żądanie.
required (400) requiredTimingType Metadane żądania muszą określać metodę realizacji czasu, tak aby serwis YouTube mógł określić, kiedy wyświetlić promowany produkt. Ustaw wartość właściwości invideoPromotion.timing.type w zasobie wysyłanym przez żądanie.
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 identyfikujący promowany produkt.
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 wysyłanym przez żądanie.

Wypróbuj

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