本頁列出 YouTube Live Streaming API 異動和說明文件更新。
2026 年 10 月 12 日
這次更新的修改如下:
-
liveChatMessage資源的snippet.giftEventDetails屬性已更正為snippet.giftDetails,以準確反映 API 回應。
2026 年 8 月 18 日
這次更新的修改如下:
-
liveBroadcasts.update方法的文件已更新,加入新的營利相關錯誤:preconditionFailed (412)(原因:videoNotEligibleForAdsMonetization) 和backendError (503)(原因:backendError)。
2026 年 8 月 17 日
這次更新的修改如下:
-
liveBroadcast資源的新snippet.categoryId屬性可供你設定、更新及擷取與現場直播相關聯的影片類別。
2026 年 7 月 20 日
這次更新的修改如下:
-
現在可將
monetizationDetails.cuepointSchedule.pauseAdsUntil屬性設為過去的日期時間或空白值,取消暫停廣告。
2026 年 7 月 9 日
這次更新的修改如下:
-
liveChatBans.insert的說明文件現在指定snippet.type屬性必須是permanent或temporary。liveChatMessage.insert的文件準確反映questionText是metadata的直接屬性,而options是物件陣列,每個物件都包含optionText欄位。
2026 年 6 月 1 日
這次更新的修改如下:
-
liveBroadcast資源的contentDetails.availabilityConfig屬性可讓你指定直播的地理區域限制,以便管理現場直播的區域可用性。
2026 年 3 月 26 日
這次更新的修改如下:
-
snippet.type屬性現在支援新值giftEvent。 -
liveChatMessage資源的新snippet.giftEventDetails屬性和其子項包含禮物活動的相關資訊。
2026 年 1 月 12 日
API 現在支援啟用片中廣告,以及自動插入片中廣告功能,適用於現場直播。
只要直播符合片中廣告資格,直播擁有者就能選擇啟用片中廣告。擁有者也可以隨時關閉直播的中間廣告。
如果直播啟用片中廣告,直播擁有者可以選擇啟用自動插入片中廣告功能。他們也可以隨時關閉廣播的自動廣告。
直播擁有者啟用自動廣告時,可以選擇下列其中一個選項:
- 讓 YouTube 最佳化片中廣告插入。這個選項支援三種模式:
- 低:收益潛力較低,觀看時比較不受干擾
- 中:收益潛力一般,兼顧觀看體驗和收益潛力
- 高:收益潛力較高,觀看時較容易出現中斷
- 手動設定片中廣告插播策略和間隔。在這種情況下,擁有者必須設定兩個參數:
- 廣告插入點的排程策略。您可以同時為所有觀眾插入提示點,也可以根據觀眾調整提示點的時間。後者策略可讓 YouTube 提高提示點的排定頻率,讓觀眾在符合資格時收到提示點。
- 片中廣告插播時間點之間的間隔長度。
為支援這項功能,文件已反映下列 API 變更:
liveBroadcast資源的monetizationDetails物件包含啟用片中廣告和自動廣告設定的欄位。update方法可用來啟用或停用片中廣告。你也可以使用這個方法,為現場直播設定自動廣告。文件 列出更新現場直播的營利和自動廣告設定時,可能會發生的幾種新錯誤。
2025 年 7 月 14 日
liveChatMessages.streamList 方法的說明已更新,提供 streamList API 用法的指引。
2023 年 10 月 9 日
如要瞭解貼圖 ID 與超級貼圖的對應關係,請參閱這份 CSV 檔案。liveChatMessage 資源的 snippet.superStickerDetails.superStickerMetadata.stickerId 屬性和 superChatEvent 資源的 snippet.superStickerMetadata.stickerId 屬性定義皆已更新,以反映這項資訊。
2023 年 9 月 15 日
API 現在支援將廣告插入現場直播的新方式。除了liveCuepoints,YouTube 現在也支援自動在直播中以固定間隔插入片中廣告插播時間點的功能。
如果廣播擁有者啟用自動廣告,就能查看廣告行為的下列層面:
- 片中廣告插播時間點之間的時間間隔長度。
- 廣告提示點的排程策略。您可以同時為所有觀眾插入提示點,也可以根據觀眾調整提示點的時間。後者可讓 YouTube 提高排定提示點的頻率,讓符合資格的觀眾收到提示點。
- 不顯示片中廣告的時間長度;使用這項功能時,直播擁有者會指定暫停插入片中廣告,直到特定時間為止。
為支援這項功能,文件已反映下列 API 變更:
liveBroadcast資源現在包含monetizationDetails物件。物件的欄位會指出是否為直播啟用自動廣告插入功能,並指定排定提示點的其他資訊。liveBroadcast.list方法的part參數支援monetizationDetails值。update方法可用於暫停在現場直播中插入片中廣告一段時間。此外,說明文件現在也會列出更新現場直播營利詳細資料時可能發生的幾種錯誤。
2023 年 8 月 1 日
這次更新的修改如下:
-
liveBroadcasts.update方法不再需要為下列欄位指定值:snippet.titlestatus.privacyStatus
如果要求中省略這些欄位,則會保持不變。
2022 年 11 月 1 日
-
YouTube 頻道擁有者只要在現場直播中插入提示點,即可透過新的
liveBroadcasts.cuepoint方法觸發廣告插播。這個方法會取代liveCuepoints.insert方法,後者僅允許 YouTube 內容合作夥伴在現場直播中插入提示點。我們已更新多份指南,反映這項新方法的適用情形。
-
注意:這是淘汰公告。
liveCuepoints.insert方法現已淘汰。2023 年 5 月 1 日當天或之後,我們將停止支援liveCuepoints.insert方法。API 使用者應更新應用程式,改為呼叫liveBroadcasts.cuepoint方法。 -
liveBroadcasts.control方法的說明文件已移除。我們已於 2020 年 9 月發布該方法的淘汰通知。
2022 年 10 月 1 日
這次更新的修改如下:
-
liveBroadcasts.update方法不再需要為下列欄位指定值:contentDetails.enableContentEncryptioncontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.startWithSlate
如果要求中省略這些欄位,這些欄位就不會變更。
-
移除過時
liveBroadcast欄位的說明文件:contentDetails.enableContentEncryptioncontentDetails.startWithSlate
2022 年 4 月 1 日
這次更新的修改如下:
-
snippet.type屬性現在支援兩個新值:membershipGiftingEventgiftMembershipReceivedEvent
-
liveChatMessage資源的新snippet.membershipGiftingDetails屬性及其子項包含會籍贈送活動的相關資訊。同樣地,新的snippet.giftMembershipReceivedDetails屬性及其子項包含「收到贈送的會籍」事件的相關資訊。
2021 年 9 月 15 日
這次更新的修改如下:
-
snippet.type屬性現在支援兩個新值:newSponsorEventmemberMilestoneChatEvent
-
liveChatMessage資源的新snippet.memberMilestoneChatDetails屬性及其子項包含會員里程碑訊息事件的相關資訊。同樣地,新的snippet.newSponsorDetails屬性及其子項包含新贊助商事件的相關資訊。
2020 年 12 月 1 日
API 的 liveBroadcasts.transition 方法支援新的 403 (Forbidden) 錯誤,表示使用者在指定時間範圍內傳送過多要求。錯誤原因為 userRequestsExceedRateLimit。
2020 年 9 月 21 日
-
liveBroadcast資源的status.madeForKids屬性定義已更新,明確指出該屬性為唯讀。這不代表 API 功能有所變更。如要將現場直播指定為針對兒童的,請在呼叫
liveBroadcasts.insert方法建立直播時,將status.selfDeclaredMadeForKids屬性設為true。 -
注意:這項異動包括淘汰公告,以及先前淘汰公告的更新。
liveBroadcasts.control方法將於 2020 年 10 月 1 日當天或之後淘汰。屆時,所有對這個方法的呼叫都會傳回禁止 (403) 錯誤,且該方法之後會完全移除。客戶仍可自行實作圖卡,方法是在傳送至 YouTube 擷取伺服器的影片中加入疊加層。2020 年 4 月 16 日發布的淘汰公告中,原定於 2020 年 9 月 1 日淘汰,現已延後至 2020 年 10 月 1 日當天或之後。因此,該淘汰公告中包含的功能和
liveBroadcasts.control方法都會同時淘汰。
2020 年 7 月 17 日
注意:這是先前淘汰公告的更新。
liveStream 資源的 cdn.format 欄位已於 2016 年 4 月淘汰,並將於 2020 年 8 月 17 日起停止支援。自該日期起,如果要求仍使用該欄位,就會失敗。
如果程式碼仍使用 cdn.format 欄位,請務必更新,並使用 cdn.frameRate 和 cdn.resolution 屬性分別指定影格率和解析度。
2020 年 7 月 6 日
透過 HTTP 即時串流傳送 YouTube 直播內容指南已更新,異動如下:
- 媒體片段的建議時間長度已更新為一到四秒。
- 新章節說明如何從 YouTube 創作者工作室取得 HLS 擷取網址。
-
file參數值的格式設定說明已移至新的「完成 HTTP 即時串流內容攝入網址」一節。無論 HLS 擷取網址是透過 YouTube API 或 YouTube 創作者工作室取得,都適用這些操作說明。
此外,新的擷取通訊協定比較會列出 YouTube 支援的擷取通訊協定、各通訊協定支援的轉碼器,以及各通訊協定適用用途的其他資訊。
2020 年 4 月 16 日
本次更新包含新屬性和淘汰公告:
-
liveBroadcast資源現在支援contentDetails.enableAutoStop屬性。這項屬性會指出,在頻道擁有者停止串流綁定影片串流中的影片後,直播是否應在約一分鐘後自動停止。直播生命週期文件已更新,說明如果將
contentDetails.enableAutoStart或contentDetails.enableAutoStop屬性設為true,建立及管理 YouTube 直播活動的逐步流程會如何變化。 -
注意:這是淘汰公告。這些異動將於 2020 年 9 月 1 日當天或之後生效。變更實際生效的日期,在下文中稱為「淘汰日期」。
這項更新說明瞭可能造成破壞性變更。這項異動會影響使用頻道預設
liveStream和liveBroadcast資源在 YouTube 上串流直播內容的 API 用戶端應用程式。具體來說,與永久廣播和串流相關聯的廣播 ID和串流 ID將無法再用於啟動新的廣播。如果符合下列任一情況,應用程式就會受到影響:
- 並檢查
liveBroadcast資源的isDefaultBroadcast屬性值。淘汰日期過後,系統不會傳回這項屬性。 - 它會檢查
liveStream資源的isDefaultStream屬性值。淘汰日期過後,系統就不會再傳回這個屬性。 - 這個方法會呼叫
liveBroadcasts.list方法,並將broadcastType參數值設為persistent或all。這項參數將在本次異動中淘汰。淘汰日期生效後:- 如果
broadcastType參數值為persistent,則liveBroadcasts.list方法不會傳回任何結果。 - 如果
broadcastType參數值為all,則liveBroadcasts.list方法不會傳回在該時間之前存在的永久廣播。
- 如果
背景資訊:過去幾年,頻道啟用直播功能時,YouTube 會自動為該頻道建立預設串流和預設廣播。預設串流會無限期存在,沒有相關聯的開始或結束時間,也無法刪除。同樣地,預設的廣播會被視為持續。這個物件一律存在,且不限於特定事件。
淘汰日期生效後:
- YouTube 將不再建立預設直播和播送。API 用戶端必須能夠建立及管理
liveBroadcast和liveStream資源,並將這些資源繫結在一起,而不是依賴預設資源。 - 如果頻道的預設直播和預設串流正在進行現場直播,也就是頻道在淘汰生效時使用這些功能進行現場直播,則進行中的直播不會受到影響。不過,在該直播結束後,頻道將無法再次使用預設直播和預設串流。
- 如果頻道的預設直播和預設串流並未啟用,則在淘汰生效後,YouTube 將忽略使用這些資源播放影片的嘗試。
如果您的應用程式受到影響,請參閱下列文件,瞭解如何更新應用程式,確保在異動後仍能正常運作:
- 並檢查
2020 年 3 月 31 日
注意:這是淘汰公告。
sponsor 資源和 sponsors.list 方法已淘汰,並由 member 資源和 members.list 方法取代。
自 2020 年 9 月 30 日起,系統將不再支援 sponsors.list 方法。
API 用戶端應更新對 sponsors.list 方法的呼叫,改用 members.list 方法。如要進一步瞭解新資源,請參閱 YouTube Data API 修訂版本記錄。
2020 年 3 月 11 日
透過 HLS 傳送 YouTube 直播內容指南的「擷取端點」部分已更新,說明編碼器在形成主要和備份擷取網址時,應使用哪個程序完成 file= 參數值。
2020 年 2 月 4 日
「透過 HLS 傳送 YouTube 直播內容」指南已更新,註明 DELETE 要求為選用,且 YouTube 的 HLS 端點會忽略這些要求。基於效能考量,YouTube 建議用戶端不要傳送 DELETE 要求。
2020 年 1 月 10 日
API 現在可以識別兒童導向內容,也就是 YouTube 所稱的「兒童專屬」內容。如要進一步瞭解「兒童專屬」內容,請前往 YouTube 說明中心。
-
liveBroadcast資源 支援兩項新屬性,方便內容創作者和觀眾辨識「兒童專屬」內容:-
selfDeclaredMadeForKids內容創作者可透過這項屬性,指明現場直播是否為針對兒童的內容。透過liveBroadcasts.insert方法建立直播時,可以設定這項屬性。請注意,只有在頻道擁有者授權 API 要求時,這項屬性才會包含在含有liveBroadcast資源的 API 回應中。 -
madeForKids屬性可讓任何 API 使用者擷取直播的「兒童專屬」狀態。舉例來說,狀態可能會根據selfDeclaredMadeForKids屬性的值來判斷。如要進一步瞭解如何為頻道、影片或直播設定目標觀眾,請參閱 YouTube 說明中心。
-
-
在 YouTube Data API 中,
channel資源也支援新的selfDeclaredMadeForKids和madeForKids屬性。
我們也更新了《YouTube API 服務條款》和《開發人員政策》。詳情請參閱《YouTube API 服務條款 - 修訂版本記錄》。《YouTube API 服務條款》和《開發人員政策》的修訂內容將於太平洋時間 2020 年 1 月 10 日生效。
2019 年 8 月 20 日
「透過 HTTP 即時串流傳送 YouTube 直播內容」指南的「規定」部分已更新,有兩項異動:
- 並說明最佳做法是在每個媒體播放清單中,同時加入已確認的片段和未確認的片段。如果伺服器端遺失媒體播放清單,這種做法可降低略過片段的可能性。舉例來說,每個媒體播放清單最多可包含兩個已確認的片段,以及最多五個未確認的片段。
- 現在,每個媒體片段都必須傳送媒體播放清單。這樣一來,伺服器就能在媒體播放清單遺失時快速復原。這項做法先前列為建議。
2019 年 6 月 28 日
YouTube 現在支援 HLS 擷取。因此,liveStream 資源的 ingestionType 屬性支援新值 hls,用於識別使用 HLS 擷取至 YouTube 的串流。
新的透過 HLS 傳送 YouTube 直播內容指南提供相關規範,說明如何使用 HLS 將編碼器的直播內容串流至 YouTube。本指南旨在協助編碼器供應商在產品中新增 HTTP 即時串流傳輸支援。
2019 年 4 月 4 日
這次更新的修改如下:
-
我們已更新 API 參考文件,更清楚說明各方法的常見用途,並透過 APIs Explorer 小工具提供動態、高品質的程式碼範例。如需範例,請參閱
liveBroadcasts.list方法的說明文件。說明 API 方法的頁面現在有兩個新元素:-
您可以使用 APIs Explorer 小工具選取授權範圍、輸入範例參數和屬性值,然後傳送實際的 API 要求並查看實際的 API 回應。這個小工具也提供全螢幕檢視畫面,顯示完整的程式碼範例,並動態更新以使用您輸入的範圍和值。
-
「常見用途」一節說明本頁面所介紹方法的一或多個常見用途。舉例來說,您可以呼叫
liveBroadcasts.list方法,擷取特定廣播的資料,或擷取目前使用者廣播的資料。您可以使用該區段中的連結,在 APIs Explorer 中填入用途的範例值,或開啟已填入這些值的全螢幕 APIs Explorer。這些變更旨在讓您更容易查看直接適用於您要在自家應用程式中實作的用途的程式碼範例。
目前支援 Java、JavaScript、PHP、Python 和 curl 的程式碼範例。
-
-
程式碼範例頁面也採用全新使用者介面,提供上述所有功能。您可以使用這項工具探索不同方法的用途、將值載入 APIs Explorer,以及開啟全螢幕的 APIs Explorer,取得 Java、JavaScript、PHP 和 Python 的程式碼範例。
配合這項異動,先前列出 Java、PHP 和 Python 程式碼範例的頁面已移除。
2019 年 2 月 25 日
liveChatMessage 和 superChatEvent 資源的說明文件已更新,反映這兩項資源現在都能包含超級貼圖資訊。超級貼圖是超級留言訊息的一種,會顯示圖片。與其他超級留言一樣,超級貼圖訊息也是粉絲在 YouTube 直播期間購買。
- 在
liveChatMessage資源中,snippet.type屬性現在設為superStickerEvent,表示資源包含超級貼圖的相關資訊。在這種情況下,資源也會包含snippet.superStickerDetails物件,其中含有超級貼圖的其他資訊。 - 在
superChatEvent資源中,布林值snippet.isSuperStickerEvent會指出超級留言訊息是否也包含超級貼圖。如果是,snippet.superStickerMetadata物件會包含超級貼圖的其他詳細資料。
2018 年 4 月 5 日
superChatEvents.list 方法的說明已更新,反映 API 回應不再包含 fanFundingEvents (已於 2017 年初淘汰)。
2017 年 4 月 3 日
新增 Java 程式碼範例,示範如何列出、插入和刪除聊天室訊息。範例會呼叫下列方法:
2017 年 2 月 13 日
這次更新的修改如下:
-
現有資源和方法的更新
-
liveCuepoints.insert方法已更新,反映目前需要onBehalfOfContentOwner參數的事實。此外,我們也更新了方法說明,指出呼叫該方法時,必須由與 YouTube 內容擁有者相關聯的帳戶授權。
-
2017 年 2 月 9 日
這次更新的修改如下:
-
現有資源和方法更新
-
superChatEvents.list方法的新hl參數可讓您指定snippet.displayString屬性值應根據特定語言的慣例設定格式。該屬性的定義也已相應更新。參數值必須是
i18nLanguages.list方法傳回的清單中包含的語言代碼。預設值為en,表示預設行為是按照英文格式設定顯示字串。舉例來說,字串預設格式為$1.00,而非$1,00。
-
2017 年 2 月 1 日
這次更新的修改如下:
-
新資源和方法
-
新的
superChatEvent資源代表粉絲在 YouTube 直播期間購買的超級留言訊息。在 YouTube 直播聊天室中,超級留言會以兩種方式與其他訊息區隔:- 超級留言會以顏色醒目顯示。
- 超級留言會在聊天室置頂顯示一段時間。
超級留言的顏色、在跑馬燈中置頂顯示的時間長度,以及訊息長度上限,都取決於購買金額。如要進一步瞭解超級留言,請前往 YouTube 說明中心。
這個 API 支援列出頻道過去 30 天內直播的超級留言事件。該方法也會傳回頻道上次直播的粉絲贊助事件 (
fanFundingEvents) 資料。
-
-
現有資源和方法的更新
-
snippet.type屬性現在支援superChatEvent值,表示資源描述的是超級留言。此外,
liveChatMessage資源的新snippet.superChatDetails屬性及其子項包含超級留言活動的相關資訊。 -
liveStream資源的cdn.resolution屬性現在支援2160p值。
-
-
新錯誤和更新後的錯誤
-
API 支援下列新錯誤:
錯誤詳細資料 liveBroadcasts.insert、liveBroadcasts.updateliveBroadcasts.insert和liveBroadcasts.update方法會傳回400(Bad Request) 錯誤,表示插入或更新的liveBroadcast資源含有無效的contentDetails.enableEmbed屬性值或contentDetails.projection屬性值。這兩個新錯誤的錯誤原因分別是invalidEmbedSetting和invalidProjection。
-
2017 年 1 月 12 日
注意:這是淘汰公告。
YouTube 推出新的超級留言功能後,已淘汰粉絲贊助功能,並將於 2017 年 2 月 28 日停用粉絲贊助 API。自該日期起:
liveChatMessages.list方法不再傳回snippet.type為fanFundingEvent的訊息。同樣地,liveChatMessage資源也不再包含snippet.fanFundingEventDetails物件。fanFundingEvents.list方法不會再傳回資料。
2016 年 8 月 11 日
這次更新的修改如下:
-
新發布的《YouTube API 服務條款》(下稱「新版條款」) 詳述了現行《服務條款》的各項更新,詳情請參閱 YouTube 工程和開發人員網誌。除了將於 2017 年 2 月 10 日生效的新版條款外,本次更新也包含幾份輔助文件,說明開發人員必須遵守的政策。
如需新文件的完整組合,請參閱更新條款的修訂版本記錄。此外,日後對新版條款或相關支援文件的任何異動,也會在修訂版本記錄中說明。您可以透過該文件中的連結,訂閱列出修訂版本記錄變更的 RSS 動態消息。
2016 年 5 月 20 日
YouTube 現已支援 DASH 擷取。因此,liveStream 資源的 ingestionType 屬性支援新值 dash,用於識別使用 DASH 擷取至 YouTube 的串流。
新的「透過 DASH 傳送 YouTube 直播內容」指南提供相關規範,說明如何使用 DASH 傳送格式,從編碼器將直播資料串流至 YouTube。旨在協助編碼器供應商為產品新增 DASH 傳送支援。
2016 年 4 月 18 日
這次更新的修改如下:
-
現有資源和方法的更新
liveStream項資源更新-
YouTube 現在支援解析度為 1440p、每秒 30 或 60 個影格的直播。
此外,
liveStream資源包含新屬性,可指定傳入影片資料的影格率和解析度:屬性 cdn.frameRate傳入影片資料的影格率。有效值為 30fps和60fps。cdn.resolution傳入影片資料的解析度。有效屬性值為: 1440p、1080p、720p、480p、360p和240p。 -
隨著
liveStream資源的cdn.frameRate和cdn.resolution屬性推出,資源的cdn.format現已淘汰。cdn.format屬性會以單一值指定解析度和影格率。建議您改用新支援的欄位。在此期間,
cdn.format仍可繼續運作。此外,只要為cdn.format屬性或cdn.frameRate和cdn.resolution屬性指定值,目前插入直播的要求就會成功。如果您為這三個屬性都提供值,但值不一致,API 可能會傳回錯誤。請注意,雖然
cdn.format屬性已淘汰,但現在支援兩個新值1440p和1440p_hfr,反映 API 支援每秒 30 或 60 影格的 1440p 串流。
-
liveBroadcast資源更新-
liveBroadcast資源包含下列新屬性:屬性 contentDetails.boundStreamLastUpdateTimeMs直播活動的 contentDetails.boundStreamId屬性所參照的直播上次更新日期和時間。contentDetails.projection廣播的投影格式。這個屬性的預設值為 rectangular。這個屬性的有效值為360和rectangular。 -
liveBroadcast資源的statistics.totalChatCount屬性定義已更新,指出只有在廣播至少有一則即時通訊訊息時,才會顯示屬性值。
-
liveChatMessage項資源更新-
snippet.type屬性支援兩個新值:messageDeletedEvent和userBannedEvent,分別對應於下一個項目符號所述的新屬性。snippet.authorChannelId屬性的定義也已更新,說明屬性值對這些新訊息類型的意義。 -
liveChatMessage資源包含下列新屬性:屬性 snippet.messageDeletedDetails這個物件包含聊天室管理員刪除的訊息相關資訊。只有在 snippet.type屬性值為messageDeletedEvent時,才會顯示這個物件。snippet.userBannedDetails這個物件包含遭禁止參與聊天的使用者資訊。這個物件也包含禁令本身的資訊,也就是禁令是永久還是暫時。如果是暫時禁止,物件的其中一個屬性會指定禁止時間長度。
只有在snippet.type屬性值為userBannedEvent時,才會出現這個物件。
-
-
新增和更新的錯誤
-
API 支援下列新錯誤:
錯誤詳細資料 liveBroadcasts.bindliveBroadcasts.bind方法會傳回403(Forbidden) 錯誤,表示使用者在指定時間範圍內傳送過多要求。錯誤原因是userRequestsExceedRateLimit。liveBroadcasts.insert和liveBroadcasts.update方法已支援相同的錯誤。liveStreams.insertliveStreams.insert方法支援四種新的400(Bad Request) 錯誤,可識別要求嘗試插入的liveStream資源中無效的屬性值。以下清單列出錯誤原因和相關屬性:
invalidFormat:cdn.formatinvalidFrameRate:cdn.frameRateinvalidIngestionType:cdn.ingestionTypeinvalidResolution:cdn.resolution
liveStreams.insertliveStreams.insert方法支援兩項新的400(Bad Request) 錯誤,分別表示要求嘗試插入的liveStream資源中缺少必要值。以下清單列出錯誤原因和相關屬性:
frameRateRequired:cdn.frameRateresolutionRequired:cdn.resolution
liveStream資源時,您必須為cdn.format屬性或cdn.frameRate「和」cdn.resolution屬性指定值。
- 如果未指定這三項屬性的值,API 會傳回
formatRequired錯誤。 - 如果您指定
cdn.resolution的值,但未指定cdn.frameRate的值,API 會傳回frameRateRequired錯誤。 - 如果您指定
cdn.frameRate的值,但未指定cdn.resolution的值,API 會傳回resolutionRequired錯誤。
liveStreams.update如果要求嘗試修改下列任何不可變更的屬性值, liveStreams.update方法會傳回403(Forbidden) 錯誤:cdn.formatcdn.frameRatecdn.ingestionTypecdn.resolution
reason為liveStreamModificationNotAllowed。
-
2015 年 12 月 18 日
根據歐盟 (EU) 法律規定,您必須向歐盟境內的使用者揭露特定資訊,並徵得同意聲明。因此,對於歐盟地區的使用者,您必須遵守《歐盟地區使用者同意授權政策》。我們已在《YouTube API 服務條款》中新增這項規定的通知。
2015 年 12 月 17 日
這次更新的修改如下:
-
新資源和方法
-
API 支援多項新資源,可支援現場直播的聊天室功能。YouTube 在直播期間支援即時通訊功能,這些資源和方法也支援擷取即時通訊訊息,以及管理即時通訊。
資源 liveChatMessage這項資源代表 YouTube 直播聊天室中的訊息。YouTube 支援多種訊息類型,包括文字訊息和粉絲贊助活動。部分訊息類型會標示特定階段的聊天內容,例如僅限贊助者參與的階段開始或聊天結束。這個 API 支援列出、插入及刪除聊天室訊息的方法。 liveChatModerators這項資源可識別聊天室管理員。管理員可以執行部分管理功能,例如禁止使用者參與聊天或移除訊息。這個 API 支援列出、插入及刪除聊天室管理員的方法。 liveChatBans這項資源代表遭禁止在特定聊天室中發布訊息的使用者。禁令可能是暫時或永久性質。API 支援插入和刪除聊天室封鎖的方法。 fanFundingEvents這項資源代表 YouTube 頻道上的粉絲贊助活動。粉絲贊助功能可讓觀眾自願提供一次性金錢贊助,支持 YouTube 創作者。
API 的fanFundingEvents.list方法會列出頻道的粉絲贊助事件。在頻道擁有的現場直播期間,透過聊天室發起的粉絲贊助活動,也會在直播聊天室中觸發fanFundingEvent訊息。
如要進一步瞭解粉絲贊助功能,請前往 YouTube 說明中心。sponsorssponsor資源會識別 YouTube 頻道的贊助者。贊助者會按月支付頻道費用。在頻道的聊天室中,贊助者的訊息旁會顯示徽章,贊助者也可以參與頻道贊助者專屬的聊天室 (如有)。
API 的sponsors.list方法會列出頻道的贊助者。使用者在頻道擁有的現場直播期間註冊贊助頻道時,API 也會將newSponsorEvent訊息新增至直播的聊天室。
如要進一步瞭解贊助,請前往 YouTube 說明中心。
-
-
現有資源和方法的更新
-
liveBroadcast資源包含下列新屬性:屬性 snippet.liveChatIdYouTube 直播聊天室的 ID。有了這個 ID,您就能使用 liveChatMessage資源的方法擷取、插入或刪除即時通訊訊息。你也可以新增或移除聊天室管理員、禁止使用者參與聊天室,或解除現有的禁令。contentDetails.closedCaptionsType注意:這項屬性會取代 contentDetails.enableClosedCaptions屬性。
這項屬性會指出直播是否啟用隱藏式輔助字幕,以及你提供的隱藏式輔助字幕類型:closedCaptionsDisabled:現場直播已停用隱藏式輔助字幕。closedCaptionsHttpPost:透過 HTTP POST,將字幕傳送至與直播相關聯的擷取網址。closedCaptionsEmbedded:字幕會使用 EIA-608 和/或 CEA-708 格式編碼至影片串流。
contentDetails.enableClosedCaptions這項屬性已於 2015 年 12 月 17 日淘汰。請改用 contentDetails.closedCaptionsType屬性。如果 API 用戶端已使用這項資源:- 將屬性值設為
true,等同於將contentDetails.closedCaptionsType屬性設為closedCaptionsHttpPost。 - 將屬性值設為
false,等同於將contentDetails.closedCaptionsType屬性設為closedCaptionsDisabled。
-
liveBroadcasts.list方法的新broadcastType參數可讓您篩選 API 回應,納入事件直播、永久直播或所有直播。永久廣播會一直存在,不會與特定事件連結。具體來說,頻道的預設廣播是持續性廣播,可透過 YouTube 創作者工作室的直播資訊主頁存取。頻道其他直播為活動直播。
-
-
liveStream資源的status.healthStatus.configurationIssues[].type欄位會回報下列新的健康狀態錯誤:錯誤 audioTooManyChannels音訊有超過兩個聲道,但系統只支援一個聲道 (單聲道) 或兩個聲道 (立體聲)。請修改音訊聲道數量。 frameRateHigh目前的影格速率過高,請將畫面更新率設為 FPS 以下。%(framerate)s -
修正先前文件更新的發布日期。
-
新錯誤和更新後的錯誤
-
除了上述新資源定義的錯誤外,API 還支援下列新錯誤:
錯誤詳細資料 liveBroadcasts.updateHTTP 回應代碼 forbidden (403)原因 closedCaptionsTypeModificationNotAllowed說明 只有在直播處於 created或ready狀態時,才能修改contentDetails.closedCaptionsType值。liveBroadcasts.updateHTTP 回應代碼 invalidValue (400)原因 invalidEnableClosedCaptions說明 在 liveBroadcast 資源中, contentDetails.enableClosedCaptions屬性的值與contentDetails.closedCaptionType設定的值不相容。請修改資源,只加入其中一個屬性,然後重新提交要求。
-
2015 年 8 月 19 日
這次更新的修改如下:
-
新資源和方法
-
注意:
liveChat資源及其方法的說明文件屬於機密資訊,只有特定 YouTube 合作夥伴才能查看。新的
liveChat資源包含在 YouTube 現場直播期間發布的留言。API 支援這項資源的兩種方法:方法 liveChats.list列出直播的聊天室訊息。 liveChats.insert建立新的即時通訊訊息。 只有在直播期間,才能擷取及發布聊天室訊息。
-
-
現有資源和方法的更新
-
liveStream資源包含下列新屬性:屬性 snippet.isDefaultStream指出這個串流是否為頻道的預設串流。頻道的預設串流會無限期存在,沒有相關聯的開始或結束時間,也無法刪除。如要進一步瞭解預設串流的運作方式,請參閱屬性定義。 status.healthStatus這個物件包含可用於識別、診斷及解決串流問題的資訊。這個物件包含多個子屬性,可協助你評估即時影像串流的健康狀態。
具體來說,status.healthStatus.configurationIssues[]物件會列出影響即時影像串流的問題。新文件「LiveStream 資源的設定問題」列出 API 報告的所有問題。contentDetails.isReusable指出串流是否可重複使用,也就是說,串流是否可繫結至多個廣播。如果廣播時間不同,廣播主通常會重複使用同一個串流進行多場廣播。 -
liveBroadcast資源包含下列新屬性:屬性 snippet.isDefaultBroadcast指出這項廣播是否為頻道的預設廣播。YouTube 頻道啟用直播功能後,YouTube 會為頻道建立預設直播和預設播送。頻道擁有者會透過串流將直播影片傳送至 YouTube,而觀眾則可透過廣播觀看預設串流。如要進一步瞭解預設廣播的運作方式,請參閱屬性定義。 contentDetails.enableLowLatency指出是否應編碼此廣播,以進行低延遲串流。低延遲串流可縮短影片向觀看直播的使用者顯示所需的時間,但也會影響串流觀眾的解析度。 statistics.totalChatCount與直播相關聯的聊天室訊息總數。如果使用者可以觀看直播,且直播已啟用聊天室功能,就會顯示這個屬性和值。請注意,廣播結束後,這項屬性不會指定值。因此,這項屬性不會識別已完成現場直播的封存影片中,即時通訊訊息的數量。
-
-
新錯誤和更新後的錯誤
-
除了為新
liveChat資源定義的錯誤外,API 還支援下列新錯誤:錯誤詳細資料 liveStreams.updateHTTP 回應代碼 forbidden (403)原因 liveStreamModificationNotAllowed說明 API 不允許您將可重複使用的串流變更為不可重複使用,反之亦然。詳情請參閱「瞭解直播和串流」
-
2015 年 5 月 21 日
這次更新的修改如下:
-
YouTube 現在支援每秒 60 格 (fps) 的直播影片,因此遊戲和其他快速動作影片的播放效果會更加流暢。在 YouTube 上以 60 fps 進行直播時,YouTube 也會針對不支援高影格率觀看功能的裝置,提供 30 fps 的直播。
liveStream資源的cdn.format屬性支援這項功能的兩個新值:720p_hfr和1080p_hfr。如要進一步瞭解這項功能,請參閱 YouTube 創作者網誌。
2014 年 8 月 21 日
這次更新的修改如下:
-
liveBroadcasts.control方法的walltime參數定義已更新,註明屬性值是以 ISO 8601 格式 (YYYY-MM-DDThh:mm:ss.sssZ) 指定。 -
API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 insufficientPermissionsliveStreamingNotEnabled如果授權 API 要求的使用者尚未啟用 YouTube 即時影像功能, liveBroadcast和liveStream資源的所有方法都會傳回這項錯誤。如要瞭解使用者無法直播即時影像的原因,請前往 https://www.youtube.com/features 查看頻道設定。rateLimitExceededuserRequestsExceedRateLimitliveBroadcasts.insert和liveStreams.insert方法都會傳回這項錯誤,表示使用者在指定時間範圍內傳送過多要求。
2014 年 5 月 2 日
這次更新的修改如下:
-
liveStream資源和liveBroadcasts.bind方法的說明已更新,指出直播只能繫結至一個影片串流,但影片串流可以繫結至多個直播。這項異動只是修正說明文件,基礎 API 功能並未變更。 -
liveBroadcast資源的contentDetails.monitorStream.enableMonitorStream屬性已更新,說明如果屬性值為true,則必須先將廣播轉換為testing狀態,才能轉換為live狀態。(如果屬性的值為false,廣播不得有testing階段,因此您可以將廣播直接轉換為live狀態。 -
liveCuepoint資源的settings.offsetTimeMs屬性已更新,如果直播沒有監控串流,請勿指定屬性值。 -
liveBroadcast和liveStream資源的所有方法現在都支援onBehalfOfContentOwner和onBehalfOfContentOwnerChannel參數。您可以使用這些參數,透過相同的授權憑證,為與同一內容擁有者相關聯的不同頻道完成 API 要求。 -
liveCuepoints.insert方法的說明文件已更新,說明呼叫該方法時,可以為settings.walltime屬性設定值。 -
錯誤說明文件現在會針對每種錯誤類型指定 HTTP 回應代碼。
-
API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 insufficientPermissionslivePermissionBlocked如果授權要求的使用者無法在 YouTube 上直播即時影像, liveBroadcasts.insert、liveBroadcasts.transition和liveStreams.insert方法就會傳回這項錯誤。如要進一步瞭解使用者無法直播即時影像的原因,請前往 https://www.youtube.com/features 查看使用者的頻道設定。 -
liveBroadcasts.insert方法的invalidScheduledStartTime錯誤已更新,明確指出排定的開始時間必須接近目前日期,才能在該時間可靠地排定直播。
2013 年 12 月 13 日
這次更新的修改如下:
-
liveBroadcast資源的新status.recordingStatus屬性會識別廣播的目前狀態。 -
liveBroadcast資源的新contentDetails.enableClosedCaptions屬性會指出是否可為直播擷取隱藏式輔助字幕。您可以在插入或更新直播時設定屬性值,但直播進入testing或live狀態後,就無法更新屬性值。如果將這項屬性設為true,與直播繫結的liveStream資源會指定直播隱藏式輔助字幕使用的攝入網址。 -
liveBroadcast資源的snippet.scheduledEndTime屬性現在支援排定無限期持續播送的直播。這項異動生效後,liveBroadcasts.insert和liveBroadcasts.update要求就不再需要這個屬性。
如果您擷取的liveBroadcast資源未指定這個屬性的值,系統會排定無限期繼續直播。同樣地,如果您呼叫liveBroadcasts.insert或liveBroadcasts.update方法,但未指定這項屬性的值,系統就會排定無限期繼續廣播。 -
liveBroadcast資源的contentDetails.recordFromStart屬性預設值為true,現在只有在廣播頻道允許停用現場直播錄製功能時,才能設為false。如果頻道沒有停用錄製功能的權限,而你嘗試插入
recordFromStart屬性設為false的直播,API 就會傳回Forbidden錯誤。此外,如果您的頻道沒有該權限,而您嘗試更新直播,將recordFromStart屬性設為false,API 會傳回modificationNotAllowed錯誤。 -
liveBroadcast資源不再包含enableArchive屬性,該屬性先前曾出現在contentDetails.enableDvr和contentDetails.enableEmbed屬性的說明中。 -
liveBroadcast資源status.lifeCycleStatus屬性的有效值清單已更新,現在包含各個狀態的說明。 -
liveCuepoint資源的新settings.walltime屬性會指定插入提示點的日期和時間。如果要求嘗試插入的插入點同時指定了這項屬性和settings.offsetTimeMs屬性的值,API 就會傳回錯誤。 -
liveStream資源中的新contentDetails物件包含串流相關資訊。目前物件的唯一屬性是contentDetails.closedCaptionsIngestionUrl,用於指定與影片串流相關聯的隱藏式輔助字幕擷取網址。 -
liveStream資源status.streamStatus屬性的有效值清單已更新,現在包含各個狀態的說明。 -
liveBroadcasts.control方法的新walltime參數可讓您指定板號變更的日期和時間。如果要求同時為這個參數和offsetTimeMs參數指定值,API 會傳回錯誤。 -
在
liveBroadcasts.list要求的 API 回應中,kind屬性的值已從youtube#liveBroadcastList變更為youtube#liveBroadcastListResponse。 -
在
liveStreams.list要求的 API 回應中,kind屬性的值已從youtube#liveStreamList變更為youtube#liveStreamListResponse。 -
eventId屬性已從liveBroadcastListResponse和liveStreamListResponse中淘汰。 -
API 支援下列新錯誤:
錯誤類型 錯誤詳情 說明 invalidValueconflictingTimeFields如果要求指定 offsetTimeMs和walltime參數的值,liveBroadcasts.control方法會傳回這項錯誤。要求可以省略這兩個參數,也可以為其中一個參數指定值。invalidValueinvalidWalltime如果 walltime參數的值無效,liveBroadcasts.control方法會傳回這項錯誤。forbiddenenableClosedCaptionsModificationNotAllowed如果嘗試更新 contentDetails.enableClosedCaptions值,但廣播狀態不是created或ready,liveBroadcasts.update方法就會傳回這項錯誤。invalidValueconflictingTimeFields如果要求指定 settings.offsetTimeMs和settings.walltime屬性的值,liveCuepoints.insert方法會傳回這項錯誤。要求可以省略這兩項屬性,或為其中一項屬性指定值。此外,
liveStreams.update方法不再支援類似liveStreams.insert方法支援的cdnRequired錯誤。
2013 年 5 月 10 日
這次更新的修改如下:
-
YouTube 不再識別實驗性 API 功能和服務。我們現在提供適用於廢止政策的 YouTube API 清單。
2013 年 5 月 2 日
這次更新的修改如下:
-
新的
liveBroadcasts.control方法可讓您切換已在進行中的廣播,在廣播串流中顯示的宣傳片顯示設定。如果直播串流延遲,您也可以使用這個方法指定時間偏移,在指定時間點變更插入畫面。 -
下列屬性的定義已更新,說明如果更新
liveBroadcast資源的contentDetails部分,就必須設定屬性值: -
liveStream資源的status.streamStatus不再支援deleted值做為可能的串流狀態。 -
我們已修訂 API 針對許多錯誤訊息傳回的資訊,更清楚說明特定錯誤發生的原因。API 也支援多項新錯誤。
2013 年 3 月 27 日
這次更新的修改如下:
-
liveBroadcast資源中的下列屬性已變更:startWithSlateCuepoint屬性已重新命名為startWithSlate。enableArchive屬性已重新命名為recordFromStart。slateSettings物件已淘汰,並從說明文件中移除。與slateSettings物件或其屬性相關的錯誤訊息也已移除。最後,我們移除了「入門」指南的「顯示 Slate」部分。
-
API 不再支援使用
liveCuepoints.insert方法插入串流內待播畫面。為反映本次異動,我們更新了下列文件:-
liveCuepoint資源的settings.cueType屬性不再支援slate做為屬性值。(目前僅支援ad。 -
liveCuepoint資源的settings.eventState屬性已淘汰,並從說明文件中移除。
2013 年 3 月 18 日
這次更新的修改如下:
-
所有 API 錯誤訊息都已更新,更清楚說明可能發生的錯誤,並盡可能提供修正方式。
-
API 現在可能會傳回幾項新錯誤。下表列出錯誤,以及可能傳回該錯誤的 API 方法:
liveBroadcasts.insert- 預定結束時間必須晚於預定開始時間。liveBroadcasts.insert:廣播指定了無效的隱私權狀態。liveBroadcasts.update:資源未包含或未設定contentDetails.enableArchive屬性的值。liveBroadcasts.update:資源未包含或未設定contentDetails.enableContentEncryption屬性的值。liveBroadcasts.update:資源未包含或未設定contentDetails.enableDvr屬性的值。liveStreams.insert:摘要標題長度必須介於 1 至 128 個半形字元之間。liveStreams.update:資源不含snippet.title屬性,或未設定該屬性的值。
-
liveStream資源說明文件已更新,反映多點傳播和 WebM 不是支援的擷取方法,與先前所述不同。cdn.format屬性的格式清單已相應更新,且cdn.multicastIngestionInfo物件及其子項屬性已從資源的說明文件中移除。此外,系統已從支援的cdn.ingestionType值清單中移除http。