Zmienia stan transmisji na żywo w YouTube i inicjuje procesy powiązane z nowym stanem. Gdy na przykład zmienisz stan transmisji na testing, YouTube zacznie przesyłać obraz do strumienia monitora tej transmisji. Zanim wywołasz tę metodę, sprawdź, czy wartość właściwości status.streamStatus strumienia powiązanego z transmisją to active.
Częste zastosowania
Żądanie
Żądanie HTTP
POST https://www.googleapis.com/youtube/v3/liveBroadcasts/transition
Autoryzacja
To żądanie wymaga autoryzacji z użyciem co najmniej jednego z tych zakresów. Więcej informacji o uwierzytelnianiu i autoryzacji znajdziesz w artykule Implementowanie uwierzytelniania OAuth 2.0.
| Zakres |
|---|
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 to parametry zapytania.
| Parametry | ||
|---|---|---|
| Parametry wymagane | ||
broadcastStatus |
stringParametr broadcastStatus określa stan, na który ma się zmienić transmisja. Pamiętaj, że aby zmienić stan transmisji na testing lub live, wartość status.streamStatus strumienia powiązanego z transmisją musi być równa active.Dozwolone wartości:
|
|
id |
stringParametr id określa unikalny identyfikator transmisji, której stan ma się zmienić. |
|
part |
stringParametr part określa rozdzieloną przecinkami listę co najmniej 1 właściwości zasobu liveBroadcast, które mają być uwzględnione w odpowiedzi interfejsu API. Nazwy part części, które możesz uwzględnić w wartości parametru, to id, snippet, contentDetails i status. |
|
| Parametry opcjonalne | ||
onBehalfOfContentOwner |
stringTen parametr można używać tylko w prawidłowo autoryzowanym żądaniu. Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów YouTube zajmujących się treściami. Parametr onBehalfOfContentOwner wskazuje, że dane uwierzytelniające żądania identyfikują użytkownika systemu YouTube CMS, który działa w imieniu właściciela treści określonego w wartości parametru. Ten parametr jest przeznaczony dla partnerów YouTube zajmujących się treściami, 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 o filmach i kanałach bez konieczności podawania danych uwierzytelniających dla każdego kanału. Konto CMS, za pomocą którego uwierzytelnia się użytkownik, musi być połączone z określonym właścicielem treści w YouTube. |
|
onBehalfOfContentOwnerChannel |
stringTen parametr można używać tylko w prawidłowo autoryzowanym żądaniu. Uwaga: ten parametr jest przeznaczony wyłącznie dla partnerów YouTube zajmujących się treściami. Parametr onBehalfOfContentOwnerChannel określa identyfikator kanału YouTube, do którego dodawany jest film. Ten parametr jest wymagany, gdy żądanie określa wartość parametru onBehalfOfContentOwner, i można go używać tylko w połączeniu z tym parametrem. Ponadto żądanie musi być autoryzowane za pomocą konta CMS połączonego z właścicielem treści określonym w parametrze onBehalfOfContentOwner. Na koniec kanał określony w wartości parametru onBehalfOfContentOwnerChannel musi być połączony z właścicielem treści określonym w parametrze onBehalfOfContentOwner.Ten parametr jest przeznaczony dla partnerów YouTube zajmujących się treściami, 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 wykonywanie działań w imieniu kanału określonego w wartości parametru bez konieczności podawania danych uwierzytelniających dla każdego kanału. |
|
Treść żądania
Podczas wywoływania tej metody nie podawaj treści żądania.
Odpowiedź
Jeśli operacja się uda, ta metoda zwróci w treści odpowiedzi zasób liveBroadcast.
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 Interfejs API transmisji na żywo w YouTube – błędy.
| Typ błędu | Szczegóły błędu | Opis |
|---|---|---|
backendError |
errorExecutingTransition |
Podczas zmiany stanu transmisji wystąpił błąd. |
forbidden (403) |
errorStreamInactive |
Żądana zmiana stanu jest niedozwolona, gdy strumień powiązany z transmisją jest nieaktywny. |
forbidden (403) |
invalidTransition |
Nie można zmienić stanu transmisji na żywo z bieżącego na żądany. |
forbidden (403) |
redundantTransition |
Transmisja na żywo jest już w żądanym stanie lub jest w trakcie przechodzenia do niego. |
insufficientPermissions |
insufficientLivePermissions |
Żądanie nie ma uprawnień do zmiany stanu transmisji na żywo. |
insufficientPermissions |
livePermissionBlocked |
Użytkownik, który autoryzował żądanie, nie może obecnie transmitować na żywo w YouTube. Szczegółowe informacje o tym, dlaczego użytkownik nie może transmitować na żywo, znajdziesz w ustawieniach kanału użytkownika w sekcji Dostęp do funkcji. |
insufficientPermissions |
liveStreamingNotEnabled |
Użytkownik, który autoryzował żądanie, nie ma uprawnień do transmitowania na żywo w YouTube. Więcej informacji znajdziesz w sekcji Dostęp do funkcji. |
notFound (404) |
liveBroadcastNotFound |
Transmisja określona w parametrze id nie istnieje. |
rateLimitExceeded (403) |
userRequestsExceedRateLimit |
Użytkownik wysłał zbyt wiele żądań w danym okresie. |
rateLimitExceeded (403) |
concurrentBroadcastsExceedLimit |
Kanał ma już maksymalną liczbę równoczesnych transmisji na żywo. Zanim na kanale będzie można rozpocząć kolejną transmisję, trzeba zatrzymać co najmniej jedną z już trwających transmisji. |
rateLimitExceeded (403) |
sharedIngestionBroadcastsExceedLimit |
Kanał ma już maksymalną liczbę transmisji na żywo korzystających z tego samego źródła. Aby rozpocząć żądaną transmisję, trzeba zatrzymać co najmniej jedną z tych transmisji. |
required (400) |
idRequired |
Wymagany parametr id musi identyfikować transmisję, której stan chcesz zmienić. |
required (400) |
statusRequired |
Żądanie do interfejsu API musi zawierać wartość parametru status. |
Wypróbuj
Aby wywołać ten interfejs API i zobaczyć żądanie do interfejsu API oraz odpowiedź, użyj APIs Explorer.