LiveBroadcasts: transition

變更 YouTube 現場直播的狀態,並啟動與新狀態相關聯的任何程序。舉例來說,當你將廣播的狀態轉換為 testing 時,YouTube 會開始將影片傳輸至該廣播的監控串流。呼叫這個方法前,請先確認繫結至廣播的串流 status.streamStatus 屬性值為 active。

常見用途

要求

HTTP 要求

POST https://www.googleapis.com/youtube/v3/liveBroadcasts/transition

授權

這項要求需要至少下列其中一個範圍的授權。如要進一步瞭解驗證和授權,請參閱「導入 OAuth 2.0 驗證」。

範圍
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

參數

下表列出這項查詢支援的參數。列出的所有參數都是查詢參數。

參數
必要參數
broadcastStatus string
broadcastStatus 參數會識別廣播變更的狀態。請注意,如要將廣播轉換為 testing 或 live 狀態,廣播所繫結的串流 status.streamStatus 必須為 active。

可接受的值包括:
  • complete - 廣播已結束。YouTube 停止傳輸影片。
  • live:觀眾可看到直播。YouTube 會將影片傳輸至廣播的監控串流和廣播串流。
  • testing - 開始測試廣播。YouTube 會將影片傳輸至廣播的監控串流。請注意,只有在直播的 contentDetails.monitorStream.enableMonitorStream 屬性設為 true 時,才能將直播轉換為 testing 狀態。
id string
id 參數會指定要轉換狀態的直播專屬 ID。
part string
part 參數會指定以半形逗號分隔的清單,其中包含一或多個 API 回應會包含的 liveBroadcast 資源屬性。參數值可包含的 part 名稱有 id、snippet、contentDetails 和 status。
選用參數
onBehalfOfContentOwner string
這個參數只能用於授權要求。

注意:這個參數僅供 YouTube 內容合作夥伴使用。

onBehalfOfContentOwner 參數表示要求的授權憑證會識別 YouTube CMS 使用者,該使用者代表參數值中指定的內容擁有者。這項參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只需驗證一次,即可存取所有影片和頻道資料,不必為每個頻道提供驗證憑證。使用者用來驗證的 CMS 帳戶必須連結至指定的 YouTube 內容擁有者。
onBehalfOfContentOwnerChannel string
這個參數只能用於已授權的請求。

注意:這個參數僅供 YouTube 內容合作夥伴使用。

onBehalfOfContentOwnerChannel 參數會指定要加入影片的頻道 YouTube 頻道 ID。如果要求指定 onBehalfOfContentOwner 參數的值,就必須提供這項參數,且只能與該參數一併使用。此外,要求必須使用連結至 onBehalfOfContentOwner 參數指定內容擁有者的 CMS 帳戶授權。最後,onBehalfOfContentOwnerChannel 參數值指定的頻道必須連結至 onBehalfOfContentOwner 參數指定的內容擁有者。

這個參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要驗證一次,即可代表參數值中指定的頻道執行動作,不必為每個個別頻道提供驗證憑證。

要求主體

呼叫這個方法時,請勿提供要求主體。

回應

如果成功,這個方法會在回應主體中傳回 liveBroadcast 資源。

錯誤

下表列出 API 在呼叫這個方法時可能傳回的錯誤訊息。詳情請參閱「YouTube Live Streaming API - Errors」。

錯誤類型 錯誤詳情 說明
backendError errorExecutingTransition 變更直播狀態時發生錯誤。
forbidden (403) errorStreamInactive 如果繫結至廣播的串流處於非使用中狀態,就無法執行要求的轉場效果。
forbidden (403) invalidTransition 現場直播無法從目前狀態轉換為要求的狀態。
forbidden (403) redundantTransition 現場直播已處於要求狀態,或正在處理成要求狀態。
insufficientPermissions insufficientLivePermissions 要求未獲授權,無法轉換現場直播。
insufficientPermissions livePermissionBlocked 授權這項要求的使用者目前無法在 YouTube 直播即時影像。如要瞭解使用者無法串流播放即時影像的原因,請前往「功能使用資格」查看使用者的頻道設定。
insufficientPermissions liveStreamingNotEnabled 授權要求的使用者未啟用 YouTube 即時影像功能。詳情請參閱「功能使用資格」。
notFound (404) liveBroadcastNotFound id 參數指定的廣播不存在。
rateLimitExceeded (403) userRequestsExceedRateLimit 使用者在指定時間範圍內傳送過多要求。
rateLimitExceeded (403) concurrentBroadcastsExceedLimit 頻道同時進行的現場直播數量已達上限。頻道必須先停止一或多個直播,才能開始其他直播。
rateLimitExceeded (403) sharedIngestionBroadcastsExceedLimit 頻道中,共用攝入來源的現場直播數量已達上限。必須停止一或多個直播,才能開始要求的直播。
required (400) idRequired 必要 id 參數必須識別要轉換狀態的廣播。
required (400) statusRequired API 要求必須指定 status 參數的值。

試試看!

使用 APIs Explorer 呼叫這個 API,並查看 API 要求和回應。