LiveBroadcasts: insert

API 現在可以支援將現場直播標示為「兒童專屬」,而 liveBroadcast 資源現在包含一項資源,可指出該直播活動的「兒童專屬」狀態。YouTube API 的《服務條款》和《開發人員政策》也已於 2020 年 1 月 10 日更新。如需更多資訊,請參閱 YouTube Live Streaming API 服務的修訂版本記錄和《YouTube API 服務條款》。

建立廣播。

常見用途

要求

HTTP 要求

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

授權

這項要求需要至少下列其中一個範圍的授權 (進一步瞭解驗證和授權)。

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

參數

下表列出此查詢支援的參數。這裡列出的參數全都是查詢參數。

參數
必要參數
part string
在這項作業中,part 參數有兩個用途。它會識別寫入作業將設定的屬性,以及 API 回應會包含的屬性。

您可以加入參數值中的 part 屬性為 idsnippetcontentDetailsstatus
選用參數
onBehalfOfContentOwner string
這個參數只能在正確的授權要求中使用。注意:這個參數僅適用於 YouTube 內容合作夥伴。

onBehalfOfContentOwner 參數代表透過要求的授權憑證,代表 YouTube CMS 使用者,代表在參數值中指定的內容擁有者擔任代理人。這個參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要通過一次驗證,即可存取所有影片和頻道資料,不必分別提供各個頻道的驗證憑證。用於驗證的 CMS 帳戶,必須連結至指定的 YouTube 內容擁有者。
onBehalfOfContentOwnerChannel string
這個參數只能在正確的授權要求中使用。這個參數只能在正確授權要求中使用。注意:這個參數僅適用於 YouTube 內容合作夥伴。

onBehalfOfContentOwnerChannel 參數會指定待加入影片的 YouTube 頻道 ID。如果要求指定 onBehalfOfContentOwner 參數值,就必須指定這個參數,且只能搭配該參數使用。此外,該要求都必須使用與 onBehalfOfContentOwner 參數指定的內容擁有者相連結的 CMS 帳戶進行授權。最後,onBehalfOfContentOwnerChannel 參數值指定的頻道必須與 onBehalfOfContentOwner 參數指定的內容擁有者相連結。

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

要求主體

在要求主體中提供 liveBroadcast 資源。針對該資源:

  • 您必須指定下列屬性的值:

    • snippet.title
    • snippet.scheduledStartTime
    • status.privacyStatus

  • 您可以設定下列屬性的值:

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

    注意:屬性表格會記錄上述屬性設定的任何預設值。系統會在符合以下任一情況時指派預設值:
    • 您不會指定這些屬性的值。
    • 要求中的 part 參數值並未指定包含這些屬性的部分。

回應

如果成功的話,這個方法會在回應內文中傳回 liveBroadcast 資源

錯誤

下表列出 API 回應此方法時可能傳回的錯誤訊息。詳情請參閱錯誤訊息的說明文件。

錯誤類型 錯誤詳細資料 說明
insufficientPermissions insufficientLivePermissions 這項要求未獲授權,無法建立現場直播。
insufficientPermissions livePermissionBlocked 提出要求的使用者目前無法在 YouTube 上串流播放即時影片。如要瞭解使用者無法串流播放直播影片的原因,請前往使用者的頻道設定,網址為:https://www.youtube.com/features
insufficientPermissions liveStreamingNotEnabled 要求授權的使用者未啟用 YouTube 即時影像串流。使用者可以前往 https://www.youtube.com/features 瞭解更多資訊。
invalidValue (400) invalidAutoStart liveBroadcast 資源含有對 contentDetails.enableAutoStart 屬性無效的值。部分廣播功能不支援這項設定。
invalidValue (400) invalidAutoStop liveBroadcast 資源含有對 contentDetails.enableAutoStop 屬性無效的值。您無法修改永久廣播的 enableAutoStop 設定。
invalidValue (400) invalidDescription liveBroadcast 資源未指定 snippet.description 屬性的有效值。屬性值最多可包含 5,000 個字元。
invalidValue (400) invalidEmbedSetting liveBroadcast 資源含有對 contentDetails.enable_embed 屬性無效的值。無法嵌入這則廣播訊息。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast 資源含有對 contentDetails.latencyPreference 屬性無效的值。這項延遲時間偏好設定僅支援部分設定。
invalidValue (400) invalidPrivacyStatus liveBroadcast 資源含有對 status.privacy_status 屬性無效的值。
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 屬性的有效值。屬性值長度必須介於 1 到 100 個半形字元之間。
limitExceeded userBroadcastsExceedLimit 使用者建立的直播或已排定的直播過多,必須停止或刪除部分直播。
rateLimitExceeded userRequestsExceedRateLimit 使用者在指定時間範圍內傳送過多要求。
required (400) privacyStatusRequired liveBroadcast 資源必須指明隱私設定狀態。請參閱有效的 privacyStatus
required (400) scheduledEndTimeRequired liveBroadcast 資源必須指定 snippet.scheduledEndTime 屬性。
required (400) scheduledStartTimeRequired liveBroadcast 資源必須指定 snippet.scheduledStartTime 屬性。
required (400) titleRequired liveBroadcast 資源必須指定 snippet.title 屬性。

試試看!

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