LiveBroadcasts: update

更新廣播訊息。舉例來說,您可以修改 liveBroadcast 資源的 contentDetails 物件中定義的廣播設定。

常見用途

要求

HTTP 要求

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

授權

這項要求需要授權,至少擁有下列其中一個範圍。如要進一步瞭解驗證和授權,請參閱實作 OAuth 2.0 授權

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

參數

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

參數
必要參數
part string
此作業有兩個用途。part 參數有兩個用途。可指出寫入作業要設定的屬性,以及 API 回應包含的屬性。

可加入參數值中的 part 屬性為 idsnippetcontentDetailsmonetizationDetailsstatus

請注意,這個方法會覆寫參數值指定任何部分的可變動屬性現有值。舉例來說,廣播的隱私狀態是在 status 部分定義。因此,如果您的要求更新私人或不公開廣播,且要求的 part 參數值包含 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 資源。 針對該資源:

  • 您必須指定這些屬性的值:

    • id
    • snippet.scheduledStartTime
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs

  • 您可以設定這些屬性的值:

    • snippet.title
    • snippet.description
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • monetizationDetails.cuepointSchedule.pauseAdsUntil

    如果你提交更新要求,且要求未針對已具有值的屬性指定值,系統將刪除該屬性的現有值。

回應

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

錯誤

下表顯示 API 為回應這個方法時,可能會傳回的錯誤訊息。詳情請參閱錯誤訊息

錯誤類型 錯誤詳情 說明
forbidden (403) closedCaptionsTypeModificationNotAllowed 只有在廣播狀態為 createdready 時,才能修改 contentDetails.closedCaptionsType 值。
forbidden (403) enabledModificationNotAllowed enabled 欄位處於唯讀狀態。
forbidden (403) scheduleStrategyModificationNotAllowed scheduleStrategy 欄位處於唯讀狀態。
forbidden (403) repeatIntervalSecsModificationNotAllowed repeatIntervalSecs 欄位處於唯讀狀態。
forbidden (403) pauseAdsUntilModificationNotAllowed 無法修改「pauseAdsUntil」欄位。 發生這個錯誤的可能原因如下:
  • monetizationDetails.cuepointSchedule.enabled 欄位未設為 true。這個欄位只能透過 YouTube 工作室設定。
  • 直播未即時播送。
forbidden (403) enableAutoStartModificationNotAllowed 只有在串流已停用且廣播處於 createdready 狀態時,才能修改 contentDetails.enableAutoStart 值。
forbidden (403) enableClosedCaptionsModificationNotAllowed 只有在廣播狀態為 createdready 時,才能修改 contentDetails.enableClosedCaptions 值。
forbidden (403) enableDvrModificationNotAllowed 只有在廣播狀態為 createdready 時,才能修改 contentDetails.enableDvr 值。
forbidden (403) enableMonitorStreamModificationNotAllowed 只有在廣播狀態為 createdready 時,才能修改 contentDetails.monitorStream.enableMonitorStream 值。
forbidden (403) recordFromStartModificationNotAllowed 只有在廣播狀態為 createdready 時,才能修改 contentDetails.recordFromStart 值。
insufficientPermissions insufficientLivePermissions 這項要求無權更新指定的現場直播內容。詳情請參閱「實作 OAuth2 驗證」。
insufficientPermissions liveStreamingNotEnabled 已授權請求的使用者不具備在 YouTube 上串流播放即時影像的功能。你可以前往 https://www.youtube.com/features 查看更多資訊。
invalidValue (400) invalidAutoStart liveBroadcast 資源contentDetails.enableAutoStart 屬性包含無效值。 您無法修改永久廣播的 enableAutoStart 設定。
invalidValue (400) invalidAutoStop liveBroadcast 資源contentDetails.enableAutoStop 屬性包含無效值。個人中心 無法修改永久廣播的 enableAutoStop 設定。
invalidValue (400) invalidDescription liveBroadcast 資源並未為 snippet.description 屬性指定有效值。snippet.description 最多可包含 5000 個字元。
invalidValue (400) invalidEmbedSetting liveBroadcast 資源contentDetails.enable_embed 屬性含有無效值。您無法嵌入這個廣播。
invalidValue (400) invalidEnableClosedCaptions liveBroadcast 資源中,contentDetails.enableClosedCaptions 屬性的值與 contentDetails.closedCaptionType 設定的值不相容。請修改資源,只加入其中一種屬性,然後重新提交要求。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast 資源contentDetails.latencyPreference 屬性包含無效值。 此延遲時間偏好設定不支援部分設定。
invalidValue (400) invalidPauseAdsUntil liveBroadcast 資源monetizationDetails.cuepointSchedule.pauseAdsUntil 屬性。 發生這個錯誤的可能原因如下:
  • 並未使用 ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) 格式指定 monetizationDetails.cuepointSchedule.pauseAdsUntil 值。
  • monetizationDetails.cuepointSchedule.pauseAdsUntil 值不是未來的日期。
  • monetizationDetails.cuepointSchedule.pauseAdsUntil 值比目前時間高出 10 分鐘。
invalidValue (400) invalidPrivacyStatus liveBroadcast 資源並未指定有效的隱私權狀態。請參閱有效的 privacyStatus
invalidValue (400) invalidProjection liveBroadcast 資源contentDetails.projection 屬性含有無效值。永久廣播的投影無法設為 360。
invalidValue (400) invalidScheduledEndTime liveBroadcast 資源snippet.scheduledEndTime 屬性含有無效值。排定的結束時間必須晚於排定的開始時間。
invalidValue (400) invalidScheduledStartTime liveBroadcast 資源snippet.scheduledStartTime 屬性含有無效值。排定的開始時間必須設在未來。
invalidValue (400) invalidTitle liveBroadcast 資源並未為 snippet.title 屬性指定有效值。snippet.title的長度必須介於 1 到 100 個字元之間。
notFound (404) liveBroadcastNotFound LiveBroadcast 資源中指定的 id 屬性無法識別廣播訊息。
required (400) broadcastStreamDelayMsRequired liveBroadcast 資源並未指定 contentDetails.monitorStream.broadcastStreamDelayMs 屬性。
required (400) enableMonitorStreamRequired liveBroadcast 資源並未指定 contentDetails.monitorStream.enableMonitorStream 屬性。
required (400) idRequired liveBroadcast 資源必須包含和指定 id 屬性的值。
required (400) scheduledEndTimeRequired liveBroadcast 資源並未指定 snippet.scheduledEndTime 屬性。
required (400) scheduledStartTimeRequired liveBroadcast 資源並未指定 snippet.scheduledStartTime 屬性。

試試看!

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