本頁面列出 YouTube Data API (v3) 的異動內容和說明文件更新。訂閱這個變更記錄。敬上
2024 年 4 月 30 日
注意:這是淘汰公告。
這次更新的修改如下:
這個 API 不再支援插入或擷取頻道討論內容。這項異動與 YouTube 網站所提供的功能一致,該網站不支援對頻道發布留言功能。
2024 年 3 月 13 日
注意:這是淘汰公告。
這次更新的修改如下:
應用程式的 sync
參數
「captions.insert
」和
captions.update
種方式
YouTube 將停止支援
參數。
為配合這項異動,開發人員在插入或插入程式碼時, 否則無法成功更新字幕軌。
2024 年 3 月 12 日
這次更新的修改如下:
captions
資源的說明文件已更新,以註明 snippet.name
允許的長度上限
欄位中輸入 150 個字元API 會傳回 nameTooLong
錯誤。
2024 年 3 月 7 日
注意:這是淘汰公告。
channel
資源屬性
brandingSettings.channel.moderateComments
已淘汰YouTube 將停止
自 2024 年 3 月 7 日起支援此參數。
2024 年 1 月 31 日
這次更新的修改如下:
channels.list
方法的新 forHandle
參數可讓您指定頻道的 YouTube 帳號代碼,藉此擷取頻道相關資訊。
2023 年 11 月 9 日
Comments
中 videoId
資源的所有參照
已移除,因為未使用 API 呼叫傳回 videoId
資源。
2023 年 9 月 12 日
注意:這是淘汰公告。
comments.markAsSpam
方法
我們已淘汰好幾年YouTube 目前不支援這種方法
持續強化支援
凡是參照
comments.markAsSpam
方法。
2023 年 8 月 22 日
search.list
方法現在支援
videoPaidProductPlacement
參數。您可以利用這個參數篩選搜尋結果,只列出
創作者已聲明為付費宣傳內容。
2023 年 8 月 18 日
video
資源的
liveStreamingDetails.concurrentViewers
,提醒您,YouTube Data API 傳回的同時顯示並行觀眾人數
不同於經處理且遭刪除的重複影片觀看人數,你可以透過 YouTube 取得
分析
YouTube 說明中心
進一步說明直播指標
2023 年 8 月 7 日
如2023 年 6 月 12 日所述,
search.list
方法的
relatedToVideoId
參數已淘汰。該參數已經不在
,且參數的參照已從 API 說明文件中移除。
2023 年 6 月 28 日
thumbnails.set 方法現在支援
uploadRateLimitExceeded
錯誤,表示頻道上傳太多資料
顯示過去 24 小時的縮圖,稍後再試
2023 年 6 月 12 日
注意:這是淘汰公告。
search.list 方法的
relatedToVideoId
參數已淘汰。YouTube 將停止支援
參數。
目前,我們已在 search.list
方法的
說明文件。此參數將從 search.list
說明文件中完全移除
2023 年 8 月 7 日當天或之後
另外,畫面上還會示範擷取相關影片的例子 已從 API 實作指南中移除。
2022 年 8 月 22 日
修正 video.statistics 的類型註解 欄位轉換成無正負號字串。
2022 年 8 月 5 日
YouTube 已變更字幕 ID 的產生方式。本次異動後,
指派新的字幕 ID 給所有字幕軌。這項變更可能與舊版不相容
以同樣的方式
caption_id
值,但不會
避免應用程式
caption_id
值。
在 2022 年 12 月 1 日之前,
captions.list
,
captions.update
,
captions.download
和
captions.delete
方法
同時支援新舊兩版字幕軌 ID。不過自 2022 年 12 月 1 日起
會停止支援舊的字幕軌 ID。屆時,只要呼叫任一項 API 方法,
使用舊的字幕軌 ID,就會導致
captionNotFound
個錯誤。
為因應本次異動,建議你全面取代所有已儲存的字幕軌資料。
直到 2022 年 12 月 1 日為止也就是說,對於任何您儲存字幕軌的影片
資料,您應刪除目前儲存的資料,然後呼叫
使用 captions.list
方法擷取
目前的影片字幕軌,並將資料儲存在 API 回應中,
一般問題。
2022 年 7 月 12 日
《YouTube API 服務條款》已更新。請 請參閱 YouTube API 服務條款 - 修訂版本 記錄。
2022 年 4 月 27 日
更新 videos.insert
方法的說明內容,顯示上傳影片的檔案大小上限已從 128GB 增加至 256GB。
2022 年 4 月 8 日
subscriptions.list
方法的
myRecentSubscribers
和 mySubscribers
參數定義
,提醒您 API 傳回的訂閱人數上限可能受到限制。
這項變更代表說明文件修正,而不是 API 行為的變更。
2021 年 12 月 15 日
如 2021 年 11 月 18 日的公告所述,
對影片表示不喜歡的變更
會計算整個 YouTube 平台上的私人資源,而此 video
資源的
statistics.dislikeCount
現已設為不公開。
歡迎前往 YouTube 官方網誌,進一步瞭解這項異動。
2021 年 11 月 18 日
結合變更
將影片按倒讚次數設為在整個 YouTube 平台上設為不公開,video
資源的
statistics.dislikeCount
的公開資源將從 2021 年 12 月 13 日起設為私人。這表示資源只會
如果 API 要求videos.list
已經過影片擁有者驗證
「videos.rate
」端點並未受到影響
受到這項異動影響
開發人員不會公開顯示不喜歡人數,但仍需要 API 用戶端可申請列入豁免資格的許可清單。如要申請豁免,您必須 必須完成這項程序 申請表單。
歡迎前往 YouTube 官方網誌,進一步瞭解這項異動。
2021 年 7 月 2 日
注意:這是淘汰公告。
commentThreads.update
端點已淘汰,不再受支援。
這個端點可透過其他 API 端點使用複製的功能。不過,您可以
呼叫 comments.update
commentThreads
資源,請對
commentThreads.list
方法。
2021 年 7 月 1 日
凡是使用 YouTube API 服務的開發人員,都必須完成 API 法規遵循稽核,才能獲得超過預設配額 (10,000 個單位) 的授權。到目前為止,法規遵循稽核程序以及額外配額單位配額的要求都是由開發人員填寫並提交 YouTube API 服務 - 稽核與配額擴充表單。
為了闡明這些程序,並進一步滿足開發人員使用 API 服務的需求,我們將添加三份新表單和指南,協助您完成這些表單:
- 經過稽核的開發人員要求表單:如果開發人員已通過 API 法規遵循稽核,可以填寫並提交這份簡短的表單,申請展延配額。
- 申訴表單:如果開發人員的 API 專案未通過法規遵循稽核 (或申請提高配額遭拒),請填寫並提交這份表單。
- 控製表單變更:開發人員或代表開發人員經營 API 用戶端的任何一方,如果與 API 專案相關聯的控制權異動 (例如透過股票買賣、併購或其他形式的公司交易) 變更,請務必填寫並提交這份表單。這樣 YouTube 的 API 團隊就能更新記錄、稽核新 API 專案的用途,以及驗證開發人員目前的配額分配情形。
每份新表單都會告知我們您預期的 YouTube API 使用方式,以便為您提供更完善的協助。
詳情請參閱新版 API 法規遵循稽核指南。
2021 年 5 月 12 日
注意:這是淘汰公告。
本次更新涵蓋下列 API 異動:
-
channel
資源的contentDetails.relatedPlaylists.favorites
。最愛的影片功能已淘汰: 如 2016 年 4 月 28 日中所提到, 記錄項目在本次更新前,如果 API 用戶端嘗試執行以下動作,API 仍會建立新的播放清單: 將影片加入不存在的最愛播放清單。日後將不會播放這個播放清單 建立完成,且 API 會傳回錯誤嘗試修改最愛的播放清單 就算是新增、修改或刪除項目,也已不適用。 隨時可能開始傳回錯誤
-
下列
channel
資源 。YouTube 工作室使用者介面不支援這些屬性 以及 YouTube 上因此,這些 API 也不再透過 API 提供支援。brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
所有資源皆已從
channel
資源表示法,且定義已從資源的 屬性清單。此外,發生錯誤 並從方法專屬說明文件中移除。 -
下列
channelSection
資源 。YouTube 工作室使用者介面不支援這些屬性 以及 YouTube 上因此,這些 API 也不再透過 API 提供支援。snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
配合這項變更,
channelSection.list
方法的hl
參數也有 已淘汰,因此不支援這些功能。所有資源皆已從
channelSection
資源表示法,且定義已從資源的 屬性清單。此外,發生錯誤 並從方法專屬說明文件中移除。 -
針對
channelSection
資源的snippet.type
資源, 下列值已淘汰。YouTube 目前不支援這些值 頻道頁面,因此該 API 也不再支援這類頁面。likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
playlist
資源的snippet.tags[]
屬性已淘汰。系統不支援這項資源 ,因此該 API 不再支援該 API。
2021 年 2 月 9 日
playlistItem
資源支援兩個新屬性:
snippet.videoOwnerChannelId
屬性會識別上傳播放清單影片的頻道 ID。snippet.videoOwnerChannelTitle
屬性會識別上傳播放清單影片的頻道名稱。
2021 年 1 月 28 日
這次更新的修改如下:
-
playlistItems.delete
playlistItems.insert
,playlistItems.list
,playlistItems.update
,playlists.delete
,playlists.list
和 所有playlists.update
方法都支援 發生新的playlistOperationUnsupported
錯誤。當要求嘗試 執行某項播放清單不允許的操作。舉例來說,使用者不得 從自己上傳的影片播放清單中刪除影片,或是刪除播放清單本身。在所有情況下,這個錯誤都會傳回
400
HTTP 回應代碼 (Bad Request)。 -
playlistItems.list
方法的watchHistoryNotAccessible
和watchLaterNotAccessible
個錯誤出現 已從說明文件中移除。使用者的觀看記錄和「稍後觀看」清單確實 無法透過 API 存取,但 API 不會傳回這些特定錯誤。
2020 年 10 月 15 日
我們在「開發人員」中新增了兩個章節 政策:
- 新版第 III.E.4.i 節提供 透過 YouTube 嵌入式播放器收集和傳送資料的其他資訊。個人中心 對於您經由任何 YouTube 嵌入式播放器傳送給我們的使用者資料, 使用者已經與播放器互動,以表示播放意圖。您可以限制分享的資料 自動播放功能,將自動播放設為 False,就能與使用者進行互動。
- 新的第 III.E.4.j 節相關 確認內容是否屬於兒童專屬 (MFK) 狀態,再將其嵌入網站; 應用程式。就嵌入至 API 用戶端的影片而言,您有責任瞭解 ,並處理從嵌入式播放器收集到的資料。因此,您必須 將內容嵌入 API 前,使用 YouTube Data API 服務檢查內容狀態 透過任何 YouTube 嵌入式播放器存取用戶端。
全新課程:尋找影片的 MadeForKids 狀態 指南將說明如何使用 YouTube Data API 服務。
配合這些變更, 請參閱「嵌入式播放器參數」說明文件 自動播放功能會在使用者未與播放器互動的情況下播放播放 因此,系統會在網頁載入後收集資料與分享。
2020 年 10 月 8 日
本次更新涵蓋了
channel
資源:
snippet.thumbnails
物件,用於識別頻道的縮圖圖片。如果是新建立的圖片,這個物件會留空 管道,且最久可能需要一天才會填入數據。statistics.videoCount
屬性只反映頻道的公開影片數量 (即使是擁有者也沒有)。這項行為 與 YouTube 網站中顯示的次數一致。- 頻道關鍵字,在
brandingSettings.channel.keywords
屬性,超過允許的長度上限 (500 個字元),可能會遭到截斷。 是否包含未逸出的引號 ("
)。請注意,字元數為 500 limit 並非每個關鍵字的限制,而是所有關鍵字的總長度限制。 在 YouTube 網站上,這種行為與運作方式一致。
2020 年 9 月 9 日
注意:這是淘汰公告。
本次更新涵蓋下列 API 變更。所有變更都會在當天或之後生效 2020 年 9 月 9 日,公告日期。因此,開發人員 依賴下列任一 API 功能。
-
下列 API 資源、方法、參數和資源屬性已淘汰
立即終止,並將於以下日期過後停止服務:
- 下列
channel
資源 屬性:statistics.commentCount
屬性brandingSettings.image
物件及其所有子項屬性brandingSettings.hints
清單和其所有子項屬性
channels.list
方法的categoryId
篩選器參數guideCategories
資源 和guideCategories.list
種方式
- 下列
-
的 API 回應
channels.list
方法無 包含prevPageToken
屬性,如果 API 要求設定managedByMe
參數 至true
。這項變更不會影響prevPageToken
屬性 其他channels.list
要求,這不會影響nextPageToken
屬性。 -
channel
資源的contentDetails.relatedPlaylists.watchLater
和contentDetails.relatedPlaylists.watchHistory
項屬性均已宣布 (已於 2016 年 8 月 11 日淘汰)。playlistItems.insert
方法和playlistItems.delete
方法的支援 目前完全淘汰這些播放清單,而且移除這兩項屬性 請參閱說明文件 -
channels.list
方法的mySubscribers
參數, 公告將於 2013 年 7 月 30 日淘汰,目前已在 會從說明文件中移除使用subscriptions.list
方法和 其mySubscribers
參數,擷取 已驗證使用者的頻道 -
channel
資源的invideoPromotion
物件及其所有子項 。 2017 年 11 月 27 日已從說明文件中移除。
2020 年 7 月 29 日
我們已簡化 API 要求的收費程序,透過移除
與 part
參數相關的費用。立即生效,我們只會收取
所呼叫方法的基本費用。歡迎進一步瞭解
請按這裡查看配額。
這項異動的影響,大多數 API 呼叫的配額費用都較低。 但部分 API 呼叫的費用仍會維持不變。這項異動不會增加任何 API 的費用 呼叫。整體而言,這可能會影響您分配的配額, Google Cloud 控制台,則會更進一步。
強烈建議所有開發人員填寫 法規遵循稽核 專案,確保可以持續存取 YouTube API 服務。
這個修訂版本記錄項目原本發布於 2020 年 7 月 20 日。
2020 年 7 月 28 日
所有透過 videos.insert
上傳的影片
在 2020 年 7 月 28 日之後建立且未經驗證 API 專案的端點:
私人檢視模式。如要解除這項限制,每項專案都必須
進行稽核
遵守
《服務條款》。
若創作者使用未經驗證的 API 用戶端上傳影片,則會收到電子郵件說明 影片遭鎖定為私人影片,而創作者可以請官方人員協助, 或經過稽核的用戶端。
2020 年 7 月 28 日前建立的 API 專案為 目前不會受到這項異動影響不過,我們強烈建議所有開發人員 完成法規遵循稽核 專案,以確保可以持續使用 YouTube API 服務。
2020 年 7 月 21 日
[更新日期:2020 年 7 月 28 日。]這個修訂版本中參照的說明文件更新 記錄項目已於 2020 年 7 月 28 日重新發布。
昨天我們發布了與充電配額程序相關的說明文件更新。 不過,由於發生非預期的情況,配額變更尚未生效。因此, 說明文件已還原,這是為了顧及準確性的考量而還原。為避免混淆 說明變更是否已移除,並在不久後重新發布。
2020 年 7 月 7 日
注意:這是淘汰公告。
videos.insert
方法的
autoLevels
和 stabilize
參數現已淘汰,
參數。系統會忽略這些值,不會影響
處理新上傳的影片
2020 年 6 月 15 日
新版「遵守 YouTube Developers 政策」 政策指南提供指引與範例,協助您確保 API 用戶端遵循法規 YouTube API 服務的特定部分 相關條款和 政策 (API 服務條款)。
本指南將說明 YouTube 如何強制執行《API 服務條款》的特定部分 無法取代任何現有文件本指南說明瞭 API 法規遵循稽核期間,開發人員會提出要求。我們希望這能簡化您的功能開發工作 ,目的在於讓您瞭解我們如何解讀及落實政策。
2020 年 6 月 4 日
注意:以下是先前淘汰的公告內容。
頻道公告功能現已完全淘汰。這項變動最初宣布了
已於 2020 年 4 月 17 日生效,並生效。因此,
activities.insert
方法否
且支援解碼器的
activities.list
方法不再傳回頻道公告。詳情請參閱
YouTube 說明中心。
2020 年 4 月 17 日
注意:這是淘汰公告。
YouTube 即將淘汰頻道公告功能。因此,
activities.insert
種方式會
淘汰,且 activities.list
方法將會停止傳回頻道公告。這些變更會在 API 生效;
2020 年 5 月 18 日之後的資料詳情請參閱
YouTube 說明中心。
2020 年 3 月 31 日
這次更新的修改如下:
-
新資源和方法
-
新的
member
資源代表 頻道會員。會員定期為 創作者並享有特殊福利。舉例來說,會員可在 創作者啟用會員專屬模式來聊天。這項資源將取代
sponsor
資源,透過 YouTube Live Streaming API 記載。sponsor
資源現已淘汰,API 用戶端應將呼叫更新為sponsors.list
方法,以便使用members.list
方法。 -
新的
membershipsLevel
資源顯示了授權 API 要求的創作者所管理的定價等級。membershipsLevels.list
方法會擷取創作者所有會員等級的清單。
-
2020 年 1 月 10 日
這個 API 現在能夠識別兒童導向內容並用於 YouTube 呼叫 「兒童專屬」內容。進一步瞭解 「兒童專屬」內容。
channel
和
video
資源支援兩項新屬性
協助內容創作者和觀眾找出兒童專屬內容:
-
selfDeclaredMadeForKids
屬性可讓內容創作者指定 channel 或 影片是兒童專屬的。
如果是頻道,您可以在呼叫channels.update
方法。影片 這個屬性可在呼叫videos.insert
或videos.update
方法。
請注意,這項屬性只會包含在包含channel
或video
資源的使用權限。 -
madeForKids
屬性可讓任何使用者擷取「兒童專屬」內容狀態 頻道或 影片。舉例來說,狀態可能是 取決於selfDeclaredMadeForKids
屬性的值。詳情請參閱 YouTube 說明中心瞭解詳情 說明如何為頻道、影片或直播設定目標觀眾。
此外,我們也更新了《YouTube API 服務條款》和《開發人員政策》。請 請參閱 YouTube API 服務條款 - 修訂版本 記錄。《YouTube API 服務條款》和《YouTube API 服務條款》異動內容 開發人員政策將於太平洋時間 2020 年 1 月 10 日生效。
2019 年 9 月 10 日
API 參考資料說明文件已更新,以反映訂閱者的方式異動
數量會回報給 YouTube,因此也會在 API 回應中回報。由於這項異動
YouTube Data API 服務傳回的訂閱人數會無條件捨去至三個重要
訂閱人數超過 1,000 人的數字。這項異動會影響
channel
項資源的
statistics.subscriberCount
資源。
注意:即使使用者遇到下列情況,這項變更也會影響這個屬性值 傳送授權要求,以取得自己頻道相關資料。頻道擁有者仍能看到確切 查看訂閱人數
舉例來說,如果頻道有 123,456 名訂閱者,
statistics.subscriberCount
屬性會包含「123000
」值。
下表舉例說明 API 回應中將訂閱人數四捨五入的方式,以及
在公開顯示的其他 YouTube 使用者介面中:
訂閱人數範例 | YouTube Data API | 公開顯示的 YouTube UI |
---|---|---|
1,234 人 | 1230 | 1230 |
12,345 人 | 12300 | 1.23 萬 |
123,456 人 | 123000 | 12.3 萬 |
1,234,567 人 | 1230000 | 123 萬 |
12,345,678 人 | 12300000 | 1230 萬 |
123,456,789 | 123000000 | 1.23 億 |
2019 年 4 月 4 日
這次更新的修改如下:
-
更新 API 參考資料文件,進一步解釋每種方法的常見用途,並透過 APIs Explorer 小工具提供動態的高品質程式碼範例。如需範例,請參閱
channels.list
方法的說明文件。現在說明 API 方法的頁面新增兩個新元素:-
API Explorer 小工具可讓您選取授權範圍、輸入範例參數和屬性值,然後傳送實際的 API 要求,並查看實際的 API 回應。這個小工具也提供全螢幕檢視畫面,其中顯示完整的程式碼範例,可根據您輸入的範圍和值動態更新。
-
「常見用途」一節將說明頁面所述方法的一或多個常見用途。舉例來說,您可以呼叫
channels.list
方法來擷取特定管道的相關資料,或是擷取目前使用者頻道的相關資料。您可以使用該部分的連結,根據用途在 APIs Explorer 中填入範例值,或開啟已填入這些值的全螢幕 API 多層檢視。這些變更旨在方便您查看直接適用的程式碼範例,以便您在自己的應用程式中實作用途。
程式碼範例目前支援 Java、JavaScript、PHP、Python 和 curl。
-
-
程式碼範例工具也更新了,新的 UI 提供上述所有相同的功能。透過該工具,您可以探索不同方法的用途、將值載入 APIs Explorer,以及開啟全螢幕 API Explorer,取得 Java、JavaScript、PHP 和 Python 語言的程式碼範例。
隨著這項變更,我們移除了先前列出 Java、JavaScript、PHP 和 Python 相關程式碼範例的網頁。
-
Java、JavaScript、PHP 和 Python 的快速入門指南已更新。修訂版指南將說明如何使用 API 金鑰和 OAuth 2.0 用戶端 ID 分別執行兩個範例,並使用 APIs Explorer 中的程式碼範例。
請注意,上述變更取代了 2017 年 API 說明文件中加入的互動式工具。
2018 年 7 月 9 日
這次更新的修改如下:
-
我們更新了
channel
資源snippet.thumbnails
屬性的定義,提醒您在應用程式中顯示縮圖時,程式碼使用的圖片網址,必須與 API 回應中傳回的圖片網址完全相同。舉例來說,您的應用程式不應在 API 回應傳回的網址中使用http
網域,而非https
網域。自 2018 年 7 月起,頻道縮圖網址只能在
https
網域使用 (也就是網址在 API 回應中顯示的方式)。在此之後,如果應用程式嘗試從http
網域載入 YouTube 圖片,您可能會看到應用程式毀損的圖片。 -
注意:這是淘汰公告。
video
資源的recordingDetails.location.altitude
屬性已淘汰。我們不保證影片會傳回這個屬性的值。同樣地,即使 API 要求嘗試設定該屬性的值,系統仍可能不會儲存傳入的資料。
2018 年 6 月 22 日
導入指南 (原稱 導入與遷移指南已更新,移除從 。此外,對於使用 (例如最愛的影片)
2017 年 11 月 27 日
這次更新的修改如下:
-
注意:這是淘汰公告。
YouTube 即將停止支援精選影片和精選網站功能,這些功能透過
channel
資源的invideoPromotion
物件支援這些功能。因此,系統會淘汰該物件 (包括所有子項屬性)。在 2017 年 12 月 14 日前,您還是可以擷取及設定
invideoPromotion
資料。付款週期結束後:- 如果在呼叫
channels.list
時嘗試擷取invideoPromotion
部分,將會傳回空白的invideoPromotion
,或不會傳回任何invideoPromotion
資料。 - 如果嘗試在呼叫
channels.update
時更新invideoPromotion
資料,至少要到 2018 年 5 月 27 日才傳回成功的回應,但系統會將其視為免人工管理,因此實際上不會執行更新。
2018 年 5 月 27 日後,這些要求可能會傳回錯誤訊息,指出
invalidPromotion
是無效的部分。 - 如果在呼叫
2017 年 11 月 16 日
這次更新的修改如下:
-
互動式程式碼片段工具現在支援 Node.js 程式碼範例。範例也會顯示在所有 API 方法 (例如
channels.list
方法) 的說明文件中。這些可自訂範例可提供特定用途的 Node.js 應用程式起點。這項功能與 Node.js 快速入門指南中的程式碼類似。不過,範例包含一些公用程式函式,這些函式並不會出現在快速入門導覽課程中:
removeEmptyParameters
函式會使用與 API 要求參數相對應的鍵/值組合清單,並移除沒有值的參數。createResource
函式會使用與 API 資源中屬性相對應的鍵/值組合清單。然後將屬性轉換為 JSON 物件,可用於insert
和update
作業。以下範例顯示一組屬性名稱和值,以及程式碼會建立這些屬性的 JSON 物件:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
上述所有範例都設計為在本機下載並執行。詳情請參閱程式碼片段工具操作說明中在本機執行完整程式碼範例的先決條件。
2017 年 10 月 25 日
這次更新的修改如下:
-
互動式程式碼片段工具中的 Python 程式碼範例已更新,現在會使用
google-auth
和google-auth-oauthlib
程式庫,而非現已淘汰的oauth2client
程式庫。此外,現在該工具現在針對已安裝的 Python 應用程式和 Python 網路伺服器應用程式,提供完整的程式碼範例,這使用略有不同的授權流程。如何查看完整範例 (以及這項變更):
- 前往互動式程式碼片段工具,或是參閱任何 API 方法 (例如
channels.list
方法) 的說明文件。 - 按一下程式碼範例上方的
Python
分頁標籤。 - 點選分頁上方的切換按鈕,即可從查看摘要切換至完整樣本。
- 分頁現在應會顯示使用
InstalledAppFlow
授權流程的完整程式碼範例。範例上方的說明介紹了這個做法,也可以連結至網路伺服器應用程式的範例。 - 點選連結即可切換至網路伺服器範例。該範例使用 Flask 網頁應用程式架構和不同的授權流程。
上述所有範例都設計為在本機下載並執行。如要執行範例,請參閱程式碼片段工具操作說明,在本機執行完整程式碼範例。
- 前往互動式程式碼片段工具,或是參閱任何 API 方法 (例如
2017 年 8 月 29 日
這次更新的修改如下:
- 我們已更新
search.list
方法forContentOwner
參數的定義,以注意如果該參數設為true
,則type
參數必須設為video
。 - 我們更新了
search.list
方法regionCode
參數的定義,以闡明此參數會將搜尋結果限制為可在特定區域內觀看的影片。 - YouTube 已更新品牌標誌和圖示。「與 YouTube 共同開發」新版面您可以在品牌宣傳指南頁面中下載標誌。其他新的 YouTube 標誌和圖示也會顯示在該頁面上,您可以前往 YouTube 品牌網站下載。
2017 年 7 月 24 日
這次更新的修改如下:
- 請參閱新的 iOS。本指南將說明如何在以 Objective-C 或 Swift 撰寫的簡易 iOS 應用程式中,使用 YouTube Data API。
- YouTube Data API 的互動式程式碼片段工具現在包含這項工具的部分功能說明文件:
- 執行 API 要求
- 切換使用程式碼片段和完整程式碼範例
- 使用樣板函式
- 正在載入現有資源 (用於更新方法)
注意:這項工具也嵌入 API 方法的 API 參考說明文件 (範例)。
2017 年 6 月 1 日
這次更新的修改如下:
-
注意:這是淘汰公告。
下列
video
資源屬性即將淘汰。雖然系統支援這些內容到 2017 年 12 月 1 日為止,但不保證影片在 2017 年 12 月 1 日後會繼續傳回這些值。同樣地,設定這些屬性值的videos.insert
和videos.update
要求不會在該日期之前產生錯誤,但可能不會儲存傳入的資料。
2017 年 5 月 17 日
這次更新的修改如下:
-
API 參考說明文件經過更新,讓程式碼片段更普及且更具互動性。說明 API 方法 (例如
channels.list
或videos.rate
) 的網頁現在提供互動式工具,可讓您查看及自訂 Java、JavaScript、PHP、Python、Ruby、Apps Script 和 Go 中的程式碼片段。針對任何特定方法,工具都會顯示一或多個用途的程式碼片段,每種用途都說明呼叫該方法的常見方式。舉例來說,您可以呼叫
channels.list
方法,擷取特定頻道或目前使用者頻道的相關資料。您也可以與程式碼範例互動:
-
修改參數和屬性值,程式碼片段則會動態更新,反映您提供的值。
-
在程式碼片段和完整範例之間切換。程式碼片段顯示呼叫 API 方法的部分。完整樣本包含該程式碼片段,以及用於授權和傳送要求的樣板程式碼。您可以透過指令列或本機網路伺服器複製及執行完整範例。
-
按一下按鈕即可執行要求。(如要執行要求,您必須授權工具代您呼叫 API)。
請注意,在適用這項工具的網頁上,這項工具已取代 APIs Explorer。(每個網頁都會顯示連結,方便您在 API Explorer 中載入正在處理的要求)。
-
-
Data API 程式碼片段工具也已更新,新 UI 提供上述所有功能。本頁面提供的主要新功能如下:
- 支援寫入資料的 API 要求。
- 支援 Java 範例。
- 更靈活且全面的樣板程式碼,可用於授權使用者及建構 API 要求。
2017 年 4 月 27 日
這次更新的修改如下:
- 新的快速入門指南會說明如何設定簡單的應用程式來提出 YouTube Data API 要求。指南目前適用於 Android、Apps Script、Go、Java、JavaScript、Node.js、PHP、Python 和 Ruby。
2017 年 3 月 30 日
這次更新的修改如下:
channel
資源的新topicDetails.topicCategories[]
屬性包含描述頻道內容的 Wikipedia 網址清單。這些網址會對應至資源的topicDetails.topicIds[]
屬性中傳回的主題 ID。playlistItem
資源的新contentDetails.videoPublishedAt
屬性會指出影片發布至 YouTube 的時間。資源已包含snippet.publishedAt
屬性,表示該項目加入播放清單的時間。- 如同
channel
資源,video
資源現在會傳回topicDetails.topicCategories[]
屬性,其中包含描述影片內容的 Wikipedia 網址清單。對於video
資源,網址會對應至資源的topicDetails.relevantTopicIds[]
屬性中傳回的主題 ID。 video
資源的新contentDetails.contentRating.mpaatRating
屬性會識別美國電影協會為電影預告片或預覽提供的分級。
2017 年 2 月 27 日
如我們在 2016 年 8 月 11 日的公告所述,YouTube 已經將支援的主題 ID 清單變更為已收錄的清單。您可以在 channel
和 video
資源的 topicDetails
屬性,以及 search.list
方法的 topicId
參數中找到支援主題 ID 的完整清單。
請注意,收錄清單內容有幾項異動:
- 下列主題已新增為
Society
的次主題:名稱 主題 ID 公司行號 /m/09s1f
健康狀態 /m/0kt51
軍事 /m/01h6rj
政治 /m/05qt0
宗教 /m/06bvp
- 已移除「
Animated cartoon
」主題,該主題之前為Entertainment
的子項。 - 已移除「
Children's music
」主題,該主題之前為Music
的子項。
為配合這項異動,系統現在一律在 video
資源的 topicDetails.relevantTopicIds[]
屬性值中傳回與影片相關的主題。
2016 年 11 月 29 日
這次更新的修改如下:
-
我們將於 2017 年 2 月 10 日開始,對主題 ID 清單進行以下三項小幅變更:
Professional wrestling
類別之前是Sports
類別的子項,現在是Entertainment
的子項。TV shows
類別是Entertainment
的子項,是新的類別。- 已移除
Health
類別 (先前為Lifestyle
的子項)。
另請注意,還有幾個父項類別 (
Entertainment
、Gaming
、Lifestyle
、Music
和Sports
)。任何與子類別相關的影片 (例如Tennis
),也會與父項類別 (Sports
) 建立關聯。
2016 年 11 月 10 日
這次更新的修改如下:
-
正如我們在 2016 年 8 月 11 日首次宣布,淘汰 Freebase 和 Freebase API 需要與主題 ID 相關的數項變更。主題 ID 可識別與
channel
和video
資源相關聯的主題,您也可以使用topicId
搜尋參數尋找與特定主題相關的頻道或影片。自 2017 年 2 月 10 日起,YouTube 會開始傳回一組一小部分的主題 ID,而不是目前所傳回更為精細的主題 ID。此外,也請注意,我們不保證頻道和影片與任何主題有所關聯,因為主題是目前 API 行為的一致性。
為方便您為 API 用戶端做好萬全準備,我們更新了下列 API 參數和資源的定義,以列出 24 個之後支援的主題 ID。請注意,所有屬性的類別清單都相同。
channel
資源的topicDetails.topicIds[]
屬性。video
資源的topicDetails.relevantTopicIds[]
屬性。search.list
方法的topicId
參數。
-
注意:這是淘汰公告。
下列屬性即將淘汰:
channel
資源的topicDetails.topicIds[]
屬性。這項資源將於 2017 年 11 月 10 日停用。video
資源的topicDetails.relevantTopicIds[]
屬性。這項資源將於 2017 年 11 月 10 日停用。video
資源的topicDetails.topicIds[]
屬性。這項屬性將不含 2017 年 2 月 10 日之後的值。(在該日期之後,topicDetails.relevantTopicIds[]
屬性值會指出影片的所有主題)。
-
Freebase 已淘汰,因此已從說明文件中移除使用 Freebase Topics 搜尋指南。本指南提供了程式碼範例,說明應用程式如何使用 Freebase API。
此外,我們也從
search.list
方法的說明文件中移除數個與主題 ID 相關的程式碼範例。
2016 年 11 月 2 日
這次更新的修改如下:
-
新屬性和參數
-
video
資源包含數個新屬性:-
player.embedHtml
屬性包含<iframe>
標記,可用來嵌入播放影片的播放器。新的player.embedHeight
和player.embedWidth
屬性可用來識別嵌入式播放器的尺寸。只有在 API 要求指定至少一個maxHeight
或maxWidth
參數的值時,才會傳回這些屬性。我們稍後會在這個修訂版本記錄項目中說明這兩個新參數。 -
新的
hasCustomThumbnail
屬性會指出影片上傳者是否已提供影片的自訂縮圖。請注意,只有影片上傳者才能看到這項屬性。 -
新版
fpbRatingReasons[]
會指出影片獲得 FPB (南非) 分級的原因。 -
新的
mcstRating
會指出影片在越南獲得的分級。
-
-
videos.list
方法支援兩個新參數:maxHeight
和maxWidth
。擷取video
資源中的player
部分時,您可以使用參數,也可以同時使用兩者。根據預設,
player.embedHtml
屬性中傳回的<iframe>
高度為 360 像素。寬度會配合影片的長寬比自動調整,藉此確保內嵌播放器沒有影片周圍有黑邊。舉例來說,如果影片長寬比為 16:9,播放器的寬度就會是 640 像素。透過新參數,您可以指定嵌入程式碼應使用應用程式版面配置適用的高度和/或寬度,而非預設尺寸。API 伺服器會視情況調整播放器尺寸,確保內嵌播放器沒有影片框架顯示黑邊。請注意,這兩個參數都會指定嵌入式播放器的尺寸上限。因此,如果同時指定兩個參數,一個維度仍可能小於該維度允許的上限。
舉例來說,假設影片的長寬比為 16:9。因此,如果沒有設定
maxHeight
或maxWidth
參數,player.embedHtml
標記會包含 640x360 播放器。- 如果
maxHeight
參數設為720
,且未設定maxWidth
參數,API 就會傳回 1280x720 播放器。 - 如果
maxWidth
參數設為960
,且未設定maxHeight
參數,API 就會傳回 960x540 播放器。 - 如果
maxWidth
參數設為960
,且maxHeight
參數設為450
,API 就會傳回 800x450 播放器。
如上所述,新的
player.embedHeight
和player.embedWidth
屬性可用來識別玩家尺寸。 - 如果
-
-
現有方法、屬性和參數更新
-
我們更新了
channelSection
資源說明,提醒您每個頻道最多可以在不設定指定目標資料的情況下建立 10 個影片櫃,而且最多可以使用 100 個影片櫃使用指定目標資料。此外,我們更新了
channelSection
資源的targeting
屬性,反映只能透過 API 設定指定目標選項。如果透過 YouTube 網站的使用者介面修改頻道版面,指定目標選項就會刪除。 -
i18nLanguage
資源snippet.name
屬性的定義已修正為反映該值代表語言的名稱,因為該值是以i18nLanguage.list
方法的hl
參數指定的語言撰寫。 -
已更新
playlistItem
資源的contentDetails.note
屬性,以附註屬性值的長度上限為 280 個字元。 -
playlistItem
資源的contentDetails.startAt
和contentDetails.endAt
屬性已淘汰。如果playlistItems.insert
或playlistItems.update
要求中設定這些欄位,系統就會忽略這些欄位。 -
playlistItems.delete
和playlistItems.update
方法現在支援onBehalfOfContentOwner
參數,其他幾種方法已經支援此參數。使用該方法的要求也必須透過提供https://www.googleapis.com/auth/youtubepartner
範圍存取權的權杖進行授權。 -
search.list
方法的publishedBefore
和publishedAfter
參數已更新,以便表示參數值為包含在內。舉例來說,如果設定了publishedBefore
參數,API 會傳回指定時間之前「或」建立的資源。 -
video
資源的contentDetails.contentRating.grfilmRating
屬性支援另外三種值:grfilmK12
、grfilmK15
和grfilmK18
。 -
更新
videos.insert
方法的說明,顯示上傳影片的檔案大小上限已從 64 GB 增加為 128 GB。
-
-
新增和更新的錯誤
-
這個 API 支援下列新的錯誤:
錯誤類型 錯誤詳情 說明 forbidden (403)
homeParameterDeprecated
activities.list
方法會傳回這項錯誤,表示無法透過這個 API 取得使用者的首頁活動資料。如果您在未經授權的要求中將home
參數設為true
,就可能發生這項錯誤。invalidValue (400)
invalidContentDetails
playlistItems.insert
方法會傳回這個錯誤,表示要求中的contentDetails
物件無效。發生這項錯誤的其中一個原因是contentDetails.note
欄位長度超過 280 個字元。forbidden (403)
watchHistoryNotAccessible
playlistItems.list
方法會傳回這個錯誤,表示要求嘗試擷取「觀看記錄」播放清單項目,但無法使用 API 擷取這些項目。forbidden (403)
watchLaterNotAccessible
playlistItems.list
方法會傳回這個錯誤,表示要求嘗試擷取「稍後觀看」播放清單項目,但無法使用 API 擷取這些項目。badRequest (400)
uploadLimitExceeded
videos.insert
方法會傳回這個錯誤,表示頻道已超過可上傳的影片數量。forbidden (403)
forbiddenEmbedSetting
videos.update
方法會傳回這個錯誤,表示 API 要求嘗試為影片設定無效的嵌入設定。請注意,部分頻道可能無權為直播提供嵌入式播放器。詳情請參閱 YouTube 說明中心。 -
在播放清單中插入重複的影片時,
playlistItems.insert
方法不會再傳回錯誤。先前某些播放清單 (例如 [我的收藏]) 不允許重複,但系統不再支援。一般而言,播放清單允許重複影片。
-
-
其他最新消息
-
我們更新了 2016 年 9 月 15 日的修訂版本記錄項目,明確指出只要回應中包含
channel
資源的contentDetails.relatedPlaylists.watchHistory
和contentDetails.relatedPlaylists.watchLater
屬性,則一律分別包含HL
和WL
值。此外,只有當授權使用者擷取自己頻道的相關資料時,系統才會納入這些資源。
-
2016 年 9 月 15 日
這次更新的修改如下:
-
修訂版本記錄更新在 2016 年 8 月 11 日當天,討論了幾項與主題 ID 相關的變更,包括支援的主題 ID 將於 2017 年 2 月 10 日變更。我們將於 2016 年 11 月 10 日公布目前支援的主題清單。
-
下列變更現已生效。我們在 2016 年 8 月 11 日的修訂版本記錄更新中公布了這些變更:
-
如果透過設為
true
的home
參數呼叫activities.list
方法,API 回應現在會包含類似未登入 YouTube 使用者在首頁看到的項目。這個簡單的變更旨在提供比 2016 年 8 月 11 日修訂版本記錄更新所述行為更好的使用者體驗。這項更新表示使用
home
參數的要求會傳回空白清單。 -
channel
資源的contentDetails.relatedPlaylists.watchHistory
和contentDetails.relatedPlaylists.watchLater
屬性現在分別包含所有管道的HL
和WL
值。明確來說,只有擷取使用者頻道資料的授權使用者才能查看這些屬性。屬性一律包含
HL
和WL
值,即使是針對用於擷取使用者自有頻道資料的授權使用者也一樣。因此,您無法透過 API 擷取觀看記錄和「稍後觀看」播放清單 ID。此外,針對頻道觀看記錄或稍後觀看播放清單的擷取播放清單詳細資料 (
playlists.list
) 或播放清單項目 (playlistItems.list
) 的要求,現在會傳回空白清單。這項行為適用於新值HL
和WL
,以及 API 用戶端已儲存過的所有觀看記錄或稍後觀看播放清單 ID。
-
-
系統不再傳回
video
資源的fileDetails.recordingLocation
物件及其子項屬性。以前只有影片擁有者才能擷取這項資料 (例如父項fileDetails
物件)。
2016 年 8 月 11 日
這次更新的修改如下:
-
在新版《YouTube API 服務條款》(以下簡稱「新版條款」) 中,YouTube 工程與開發人員網誌詳細介紹了舊版《服務條款》的一系列更新內容。除了「新版條款」(將於 2017 年 2 月 10 日生效) 外,本次更新也包含多份證明文件,可協助說明開發人員必須遵守的政策。
如需瞭解完整的新文件,請參閱新版條款修訂版本記錄。此外,日後更新「本條款」或相關佐證文件時,我們也會在修訂版本記錄中說明。您可以訂閱 RSS 動態消息,從文件中的連結列出該修訂版本記錄的變更。
-
淘汰 Freebase 和 Freebase API,會產生與主題 ID 相關的幾項異動。下列 API 資源和方法會使用主題 ID:
channel
資源的topicDetails
部分代表與頻道相關聯的主題。video
資源的topicDetails
部分代表與影片相關的主題。search.list
方法的topicId
參數可讓您搜尋與特定主題相關的影片或頻道。
這些功能的變更如下:
-
自 2017 年 2 月 10 日起,YouTube 會開始傳回一組一小部分的主題 ID,而不是目前所傳回更為精細的 ID 組合。本系列支援的主題會辨識概略類別,例如「運動」或「籃球」,但其不會識別特定球隊或球員。我們即將推出一組支援的主題,讓您有時間準備因應這項異動。
-
2017 年 2 月 10 日前,你已擷取的 Freebase 主題 ID 都能用來搜尋內容。不過,在這之後,您將只能用在前一個項目中找出的少數主題,以便依主題擷取搜尋結果。
-
2017 年 2 月 10 日後,如果您嘗試使用的主題 ID 進行搜尋,該主題 ID 不在支援的較小主題 ID 中,API 會傳回空白的結果集。
-
部分 API 欄位和參數將於 2016 年 9 月 12 日淘汰:
-
activities.list
方法的home
參數可讓授權使用者擷取該名使用者的 YouTube 首頁活動動態消息。2016 年 9 月 12 日後使用這個參數的要求將傳回空白清單。 -
只有擷取使用者自有頻道資料的授權使用者,才能看到
channel
資源的contentDetails.relatedPlaylists.watchHistory
和contentDetails.relatedPlaylists.watchLater
屬性。2016 年 9 月 12 日之後,contentDetails.relatedPlaylists.watchHistory
會傳回HL
的值,contentDetails.relatedPlaylists.watchLater
屬性則會為所有管道傳回WL
的值。2016 年 9 月 12 日後,如果要求擷取頻道觀看記錄或稍後觀看播放清單的詳細資料 (
playlists.list
),系統將傳回空白清單。從其中一個播放清單擷取播放清單項目 (playlistItems.list
) 的要求,也會在 7 天之後傳回空白清單。這點適用於新值HL
和WL
,以及 API 用戶端已儲存過的任何觀看記錄或稍後觀看播放清單 ID。 -
2016 年 9 月 12 日後,系統不再傳回
video
資源的fileDetails.recordingLocation
物件或其任何子項屬性。只有影片擁有者才能擷取父項fileDetails
物件,因此只有影片擁有者才能擷取這項資料。
-
2016 年 6 月 13 日
這次更新的修改如下:
-
channel
資源的contentDetails.googlePlusUserId
屬性已淘汰。在過去,資源只有在頻道已與 Google+ 個人資料建立關聯時才會顯示。淘汰後,任何channel
資源將不再包含該屬性。 -
comment
資源的snippet.authorGoogleplusProfileUrl
屬性已淘汰。在過去,資源只有在頻道已與 Google+ 個人資料建立關聯時才會顯示。淘汰後,任何comment
資源將不再包含該屬性。
這些屬性都不會在淘汰後傳回,因此這兩項屬性也已從對應的資源說明文件中移除。
2016 年 5 月 31 日
這次更新的修改如下:
-
subscriptions.list
方法的新myRecentSubscribers
參數會擷取已驗證使用者頻道的訂閱者清單,依使用者訂閱的時間反向排序。請注意,新參數只支援將最近 1000 位訂閱者擷取到已驗證使用者的頻道。如要擷取完整的訂閱者清單,請使用
mySubscribers
參數。該參數不會依特定順序傳回訂閱者,而不會限制可擷取的訂閱人數。 -
已更新活動、playlistItem、播放清單、搜尋結果、縮圖和影片資源的
snippet.thumbnails.(key)
屬性定義,請注意,部分影片可使用額外的縮圖圖片大小。standard
圖片的寬度為 640px,高度為 480px。maxres
圖片的寬度為 1280 像素,高度為 720 像素。
-
我們更新了
channelSection.list
方法part
參數的定義,新增targeting
部分時,可以採用2
配額單位的費用擷取。 -
當有不當授權的要求嘗試擷取
video
資源的fileDetails
、processingDetails
或suggestions
部分時,videos.list
方法現在會傳回「禁止」 (403
) 錯誤。只有影片擁有者才能使用這些片段。
2016 年 5 月 17 日
全新的 Data API 程式碼片段工具提供了常見的 YouTube Data API 用途簡短程式碼片段。目前,只要是 Apps Script、Go、JavaScript、PHP、Python 和 Ruby 語言中的唯讀 API 方法,均能使用程式碼片段。
這項工具會顯示個別方法的程式碼範例。舉例來說,它為 search.list
方法提供五個程式碼片段:
- 依關鍵字列出影片
- 依地點列出影片
- 列出現場活動
- 搜尋已驗證使用者的影片
- 列出相關影片
針對所有用途,工具都會顯示 API 要求中使用的參數。您可以修改參數值,這時工具會更新程式碼片段,反映您提供的參數值。
最後,這項工具會顯示每個要求的 API 回應。如果您修改了要求參數,API 回應就會根據您提供的參數值。請注意,您必須授權這項工具代您提交要求,以便系統顯示 API 回應。
2016 年 4 月 28 日
這次更新的修改如下:
-
video
資源的新contentDetails.projection
屬性會指定影片的投影格式。有效的屬性值為360
和rectangular
。 -
video
資源的recordingDetails.location
和fileDetails.recordingLocation
屬性已更新,以便說明兩個屬性的差異:recordingDetails.location
屬性會指明影片擁有者要與影片建立關聯的位置。這個地點可以編輯、可在公開影片中搜尋,也可能顯示在公開影片的使用者眼前。fileDetails.recordingLocation
屬性值不可變更,代表與原始上傳影片檔案相關聯的位置。只有影片擁有者看得到這個值。
-
我們更新了
channel
資源contentDetails.relatedPlaylists.favorites
屬性的定義,請注意,屬性值可能包含的播放清單 ID 參照了空白的播放清單,因此無法擷取。這是因為「收藏影片」功能已不適用。請注意,這項屬性不適用 API 廢止政策。 -
comments.insert
、comments.update
、commentThreads.insert
或commentThreads.update
方法可傳回ineligibleAccount
錯誤的定義,表示用於授權 API 要求的 YouTube 帳戶未與使用者的 Google 帳戶合併時發生錯誤。
2016 年 4 月 20 日
這次更新的修改如下:
-
channels.update
方法的part
參數定義已更新,以注意localizations
也是該參數的有效值。 -
入門指南的配額用量一節已更新,可提供與 Google Developers Console 的連結,方便您查看實際配額和配額用量。
2016 年 3 月 16 日
這次更新的修改如下:
-
現有資源和方法的更新內容
-
更新
channelBanner
資源說明文件,建議上傳頻道橫幅圖片的建議尺寸為 2560 x 1440 像素。大小下限 (2048 x 1152 像素) 並未變更。 -
channel
資源的新snippet.customUrl
屬性可識別與頻道相關聯的自訂網址。(並非所有頻道都有自訂網址)。如要瞭解取得自訂網址及設定網址的資格規定,請造訪 YouTube 說明中心。 -
channel
資源的brandingSettings.watch
物件和其所有子項屬性都已淘汰。 -
對
search.list
要求的 API 回應現在包含regionCode
屬性。這個屬性可識別搜尋查詢所用的區碼。區碼會指示 API 傳回指定國家/地區的搜尋結果。屬性值是雙字母的 ISO 國家/地區代碼,用來識別區域。
i18nRegions.list
方法會傳回支援區域的清單。預設值為US
。如果指定了不支援的地區,YouTube 可能仍會選取其他區域 (而非預設值) 來處理查詢。 -
已更新
videoAbuseReportReason
資源的snippet.label
和snippet.secondaryReasons[].label
屬性的定義,以便附註為濫用檢舉原因,屬性含有本地化標籤文字。此外,
videoAbuseReportReasons.list
方法現在支援hl
參數,該參數可指定 API 回應中標籤文字應使用的語言。預設參數值為en_US
。 -
video
資源的新contentDetails.contentRating.ecbmctRating
屬性會識別土耳其文化部的評估與分類委員會 (Ministry of Culture and Tourism) 評估的影片評分。此外,其他評分系統的 API 屬性支援下列新的屬性值:
contentDetails.contentRating.fpbRating
(南非)
評分:10;屬性值:fpb10
contentDetails.contentRating.moctwRating
(臺灣)
評分:R-12;屬性值:moctwR12
contentDetails.contentRating.moctwRating
(臺灣)
評分:R-15;屬性值:moctwR15
-
video
資源的liveStreamingDetails.activeLiveChatId
屬性包含與影片相關聯的有效聊天室 ID。只有當目前直播影片已啟用聊天室時,才會顯示屬性值。直播結束後,直播結束後,房源就不會再顯示該房源。 -
video
資源的status.rejectionReason
屬性支援新的屬性值legal
。
-
-
這個 API 支援下列新的錯誤:
錯誤類型 錯誤詳情 說明 badRequest (400)
notEditable
channelSections.insert
、channelSections.update
和channelSections.delete
方法會傳回這個錯誤,表示無法建立、更新或刪除指定頻道版面。badRequest (400)
styleRequired
channelSections.insert
和channelSections.update
方法會傳回這個錯誤,表示在 API 要求中提交的channelSection
資源必須指定snippet.style
屬性的值。badRequest (400)
typeRequired
channelSections.insert
和channelSections.update
方法會傳回這個錯誤,表示在 API 要求中提交的channelSection
資源必須指定snippet.type
屬性的值。badRequest (400)
processingFailure
commentThreads.list
方法會傳回此錯誤,表示 API 伺服器無法成功處理要求。這可能是暫時性錯誤,但通常表示要求的輸入內容無效。請檢查要求主體中commentThread
資源的結構,確保該資源有效。forbidden (403)
commentsDisabled
commentThreads.list
方法會傳回這個錯誤,表示videoId
參數識別的影片已停用留言功能。badRequest (400)
commentTextTooLong
commentThreads.insert
方法會傳回這個錯誤,表示所插入的comment
資源在snippet.topLevelComment.snippet.textOriginal
屬性中包含太多字元。invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
playlistItems.insert
方法會傳回這個錯誤,表示您要加到播放清單的影片已在另一個系列播放清單中。如要進一步瞭解系列播放清單,請前往 YouTube 說明中心。badRequest (400)
subscriptionForbidden
subscriptions.insert
方法會傳回這個錯誤,表示您已達訂閱數量上限,或者您最近建立的訂閱項目數量過多。如果是第二種情況,您可以在幾小時後重試要求。badRequest (400)
invalidCategoryId
videos.update
方法傳回這個錯誤,表示已上傳的video
資源中的snippet.categoryId
屬性指定了無效的類別 ID。使用videoCategories.list
方法擷取支援的類別。badRequest (400)
invalidDescription
videos.update
方法傳回這個錯誤,表示已上傳的video
資源中的snippet.description
屬性指定了無效值。badRequest (400)
invalidPublishAt
videos.update
方法會傳回這個錯誤,表示已上傳video
資源中的status.publishAt
屬性指定的預定發布時間無效。badRequest (400)
invalidRecordingDetails
videos.update
方法傳回這個錯誤,表示已上傳的video
資源中的recordingDetails
物件指定了無效的記錄詳細資料。badRequest (400)
invalidTags
videos.update
方法傳回這個錯誤,表示已上傳的video
資源中的snippet.tags
屬性指定了無效值。badRequest (400)
invalidTitle
videos.update
方法傳回這個錯誤,表示上傳的video
資源中的snippet.title
屬性指定了無效或空白的影片標題。badRequest (400)
invalidVideoMetadata
videos.update
方法會傳回這個錯誤,表示要求中繼資料無效。如果該要求更新video
資源的snippet
部分,但並未同時設定snippet.title
和snippet.categoryId
屬性的值,就會發生這個錯誤。
2015 年 12 月 18 日
根據歐盟 (EU) 法律規定,您必須向歐盟地區使用者揭露特定資訊,並徵得使用者同意。因此,針對歐盟地區的使用者,您必須遵守《歐盟地區使用者同意授權政策》。我們在《YouTube API 服務條款》中已新增這項規定的通知。
2015 年 11 月 19 日
API 現在支援設定及擷取 playlist
和 video
資源的 snippet.title
和 snippet.description
屬性、channelSection
資源的 snippet.title
屬性,以及 channel
資源的 snippet.description
屬性。
-
設定經過翻譯的標題和說明
呼叫該資源的
insert
或update
方法時,您可以設定資源的本地化值。如要為資源設定本地化值,請執行以下兩項操作:-
確認已設定資源的
snippet.defaultLanguage
屬性值。這個屬性會識別資源的snippet.title
和snippet.description
屬性語言。這個值可以是任一支援的應用程式語言或多數其他 ISO 639-1:2002 語言代碼。舉例來說,如果您上傳的影片含有英文標題和說明,則應將snippet.defaultLanguage
屬性設為en
。更新
channel
資源的注意事項:如要設定channel
資源的snippet.defaultLanguage
屬性,您其實需要更新brandingSettings.channel.defaultLanguage
屬性。 -
將
localizations
物件新增至您要更新的資源。每個物件金鑰都是一個字串,可識別應用程式語言或 ISO 639-1:2002 語言代碼,而每個鍵都會對應至包含資源的本地化標題 (和說明) 物件。下方的範例程式碼片段會將資源的預設語言設為英文。並為影片新增德文和西班牙文的標題和說明:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
重要事項:提醒您,更新資源的本地化資料時,API 要求必須包括資料的所有現有本地化版本。舉例來說,如果您後續發出了要求,在上方範例的影片中加入葡萄牙資料,那麼該要求就必須附上德文、西班牙文和葡萄牙文的本地化資料。
-
-
擷取本地化值
此 API 支援兩種擷取資源的本地化值方法:
-
將
hl
參數加到channels.list
、channelSections.list
、playlists.list
或videos.list
要求中,以擷取YouTube 網站支援的特定應用程式語言的本地化資料。如果該語言提供本地化資源詳細資料,資源的snippet.localized
物件會包含本地化值。不過,如果無法取得本地化詳細資料,snippet.localized
物件就會以資源的預設語言會包含資源詳細資料。舉例來說,假設
videos.list
要求已擷取上述影片的資料,並提供德文和西班牙文的本地化資料。如果hl
參數設為de
,資源就會包含下列資料:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
不過,如果
hl
參數設為fr
,snippet.localized
物件將包含英文標題和說明,因為英文是資源的預設語言,且無法取得本地化的法文詳細資料。重要事項:hl
參數僅支援可識別 YouTube 網站支援的應用程式語言的值。如要判斷其他語言是否提供本地化文字,您必須擷取資源的localizations
部分並篩選,以判斷本地化文字是否存在。
舉例來說,您需要擷取本地化的完整清單,才能判斷是否有以阿帕拉契英文提供本地化文字。
-
擷取資源時,請在
part
參數值中加入localizations
,擷取該資源的所有本地化詳細資料。如果要針對非 YouTube 應用程式目前的語言擷取本地化資料,您必須使用這個方法擷取所有本地化內容,再進行篩選,以判斷是否有所需的本地化資料。
-
-
本地化文字值相關錯誤
這個 API 也支援以下本地化文字值的新錯誤:
錯誤類型 錯誤詳情 說明 badRequest (400)
defaultLanguageNotSetError
這個錯誤表示嘗試為資源插入或更新 localizations
物件的要求失敗,因為該資源未設定snippet.defaultLanguage
屬性。channels.update
、channelSections.insert
、channelSections.update
、playlists.insert
、playlists.update
、videos.insert
和videos.update
方法支援這項錯誤。badRequest (400)
localizationValidationError
這個錯誤表示資源的 localizations
物件中的其中一個值無法驗證。舉例來說,如果物件包含無效的語言代碼,就可能發生這項錯誤。channels.update
、channelSections.insert
、channelSections.update
、playlists.insert
和playlists.update
方法支援這項錯誤。
2015 年 11 月 4 日
這次更新的修改如下:
-
現有資源和方法的更新內容
-
更新
search.list
方法的order
參數,請注意,如果依照viewCount
將現場直播排序,API 結果會按照廣播訊息排序直播期間同時在線上的觀眾人數。 -
更新
search.list
方法的relatedToVideoId
參數,請注意,如果設定該參數,其他支援的參數只有part
、maxResults
、pageToken
、regionCode
、relevanceLanguage
、safeSearch
、type
(必須設為video
) 和fields
。本次更新並未反映 API 行為的變更。 -
我們更新了
video
資源snippet.publishedAt
屬性的定義,以指出指定影片發布的日期和時間的屬性值可能與上傳影片的時間不同。例如,如果影片上傳為私人影片,但後來公開了,屬性值將會指定影片公開的時間。新版定義也會說明系統如何填入私人和不公開影片的值。這項變更並不代表 API 行為的變更。
-
video
資源status.publishAt
屬性的定義已更新,以注意:- 如果您在呼叫
videos.update
方法時設定了此屬性值,則也必須將status.privacyStatus
屬性值設為private
(即使影片已設為私人影片)。 - 如果要求排定為過去的某個時間點發布影片,影片就會立即發布。因此,將
status.publishAt
屬性設為過去的日期和時間的效果,等同於將影片的privacyStatus
從private
變更為public
。
- 如果您在呼叫
-
video
資源的contentDetails.contentRating.cncRating
屬性會指定影片是依據法國執行委員會 (Commission de 分類) 發布的分級電影評斷。此屬性取代了現已淘汰的contentDetails.contentRating.fmocRating
屬性。 -
已更新
channel
資源的 brandingSettings.channel.keywords 的定義,並正確反映屬性值包含以空格分隔的字串清單,而非依先前說明的字串清單。本次更新並未反映 API 行為的變更。 -
thumbnails.set
方法的說明文件已更新,以如實反映要求內文,其中包含您要上傳且與影片建立關聯的縮圖圖片。要求主體不含thumbnail
資源。先前說明文件指出,您不應在呼叫這個方法時提供要求主體。本次更新並未反映 API 行為的變更。 -
為反映
activities.list
方法目前不包含新影片留言的相關資源,因此activity
資源的說明已更新。資源的snippet.type
和contentDetails.comment
也已更新。
-
-
新增和更新的錯誤
-
這個 API 現在支援下列錯誤:
錯誤詳細資料 activities.insert
HTTP 回應代碼 badRequest (400)
原因 invalidMetadata
說明 kind
屬性與提供的 ID 類型不符。commentThreads.update
comments.insert
comments.update
HTTP 回應代碼 badRequest (400)
原因 commentTextTooLong
說明 要插入或更新的 comment
資源在snippet.topLevelComment.snippet.textOriginal
屬性中包含過多字元。playlistItems.insert
playlistItems.update
HTTP 回應代碼 forbidden (403)
原因 playlistItemsNotAccessible
說明 這項要求無權插入、更新或刪除指定的播放清單項目。 playlists.delete
playlists.insert
playlists.update
HTTP 回應代碼 badRequest (400)
原因 playlistForbidden
說明 作業遭到禁止,或是要求未獲得適當授權。 search.list
HTTP 回應代碼 badRequest (400)
原因 invalidLocation
說明 location
和/或locationRadius
參數值的格式不正確。search.list
HTTP 回應代碼 badRequest (400)
原因 invalidRelevanceLanguage
說明 relevanceLanguage
參數值的格式不正確。subscriptions.insert
HTTP 回應代碼 badRequest (400)
原因 subscriptionForbidden
說明 當以下任一條件皆成立時,就會發生這項錯誤: - 您嘗試建立的訂閱項目已存在
- 已達訂閱數量上限
- 您試圖訂閱自己的頻道,但系統不支援這項功能。
- 您最近建立了太多訂閱項目,必須過幾小時才能重試要求。
videos.update
HTTP 回應代碼 badRequest (400)
原因 invalidDefaultBroadcastPrivacySetting
說明 要求嘗試為預設廣播設定無效的隱私權設定。
-
2015 年 8 月 28 日
這次更新的修改如下:
-
現有資源和方法的更新內容
-
video
資源的statistics.favoriteCount
屬性已淘汰。根據我們的淘汰政策,在這項公告推出至少一年後,我們會持續在
video
資源中納入這項資源,不過,屬性值現在一律設為0
。
-
2015 年 8 月 7 日
這次更新的修改如下:
-
現有資源和方法的更新內容
-
我們更新了
video
資源snippet.tags[]
屬性的定義,以提供 API 伺服器如何計算屬性值長度的詳細資訊。請注意,這項更新並未反映 API 行為的變更。具體來說,現在的定義是,如果代碼包含空格,API 伺服器會像以引號括住代碼值一樣處理代碼值,而引號也會計入字元限制。因此,為了方便起見,Foo-Baz 代碼含有 7 個字元,但 Foo Baz 代碼含有 9 個字元。
-
commentThreads.insert
方法不再支援shareOnGooglePlus
參數,此參數之前已指出留言和留言的回覆是否應同時張貼在作者的 Google+ 個人資料中。如果要求提交參數,API 伺服器會忽略該參數,否則會處理要求。
-
2015 年 6 月 18 日
這次更新的修改如下:
-
現有資源和方法的更新內容
-
commentThreads.list
方法的新order
參數會指定 API 回應列出註解執行緒的順序。討論串可以依照時間或關聯性排序。預設行為是以時間排序。 -
video
資源的新snippet.defaultAudioLanguage
屬性可指定影片預設音軌使用的語言。 -
我們更新了
video
資源contentDetails.licensedContent
屬性的定義,明確指出內容必須事先上傳至連結至 YouTube 內容合作夥伴的頻道,然後由該合作夥伴提出著作權聲明。但這並不代表實際的 API 行為有所變更。 -
captions.delete
、captions.download
、captions.insert
、captions.list
和captions.update
方法現在支援onBehalfOfContentOwner
參數,其他幾種方法已支援此參數。使用該方法的要求也必須透過提供https://www.googleapis.com/auth/youtubepartner
範圍存取權的權杖進行授權。
-
-
新增和更新的錯誤
-
這個 API 現在支援下列錯誤:
錯誤詳細資料 videos.rate
HTTP 回應代碼 badRequest (400)
原因 emailNotVerified
說明 使用者必須驗證電子郵件地址,才能對影片評分。 videos.rate
HTTP 回應代碼 badRequest (400)
原因 videoPurchaseRequired
說明 只有租借影片的使用者才能為出租影片評分。 -
subscriptions.delete
和subscriptions.insert
方法不再支援accountClosed
和accountSuspended
錯誤。
-
2015 年 4 月 27 日
這次更新的修改如下:
-
新資源和方法
-
針對包含不當內容,全新
videoAbuseReportReason
資源會提供相關資訊,說明系統將影片標示為含有不當內容的原因。videoAbuseReportReasons.list
方法可讓您擷取影片遭到檢舉的所有原因清單。 -
如要確實檢舉含有不當內容的影片,可以使用新的
videos.reportAbuse
方法。要求的內文包含 JSON 物件,用於指出影片遭檢舉,以及判定影片含有不當內容的原因。正當理由可透過上述的videoAbuseReportReason.list
方法取得。我們也更新了遷移指南,新增檢舉濫用影片的範例。本次異動後,第 3 版 API 現已支援預定支援的所有 v2 API 功能。這些功能也會在遷移指南中說明。
-
-
現有資源和方法的更新內容
-
search.list
方法的新forDeveloper
篩選器參數會限制搜尋範圍,只擷取透過開發人員應用程式或網站上傳的影片。forDeveloper
參數可以與選用的搜尋參數 (例如q
參數) 搭配使用。在這項功能中,每部上傳的影片都會自動標上與開發人員在 Google Developers Console 中的應用程式相關聯的專案編號。
當搜尋要求之後將
forDeveloper
參數設為true
時,API 伺服器會使用要求的授權憑證來識別開發人員。因此,開發人員可以限定搜尋結果範圍,只顯示透過開發人員自家應用程式或網站上傳的影片,但無法限制透過其他應用程式或網站上傳的影片。這項新功能與第 2 版 API 所支援的開發人員標記功能類似,但不完全相同。
-
channel
資源的全新snippet.country
資源可讓頻道擁有者將頻道與特定國家/地區建立關聯。注意:如要為
channel
資源設定snippet.country
屬性,您其實需要更新brandingSettings.channel.country
屬性。 -
API 現在支援指定
channelSection
資源。指定頻道版面功能,可用來限制符合特定條件的使用者,瀏覽的內容部分。API 提供三個指定選項使用者必須符合所有指定目標設定,頻道版面才會顯示。
-
targeting.languages[]
:YouTube 應用程式語言清單。使用者只要選擇其中一種語言,就能查看相應的頻道版面。 -
targeting.regions[]
:YouTube 首選內容地區的清單。只要使用者選取這些區域,以及系統自動選取這些區域的使用者,就可以看到頻道版面。 -
targeting.countries[]
:顯示頻道版面的國家/地區清單。清單中的每個值都是代表 ISO 3166-1 alpha-2 國家/地區代碼。
-
-
video
資源contentDetails.duration
屬性的定義已修正,以反映該值可反映小時、天等。 -
channelSections.delete
、playlistItems.delete
、playlists.delete
、subscriptions.delete
和videos.delete
方法的說明文件已修正,以反映如果執行成功,這些方法都會傳回 HTTP204
回應代碼 (No Content
)。
-
-
新增和更新的錯誤
-
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 badRequest (400)
targetInvalidCountry
如果插入的 channelSection
資源包含無效的targeting.countries[]
屬性值,channelSections.insert
和channelSections.update
方法就會傳回這個錯誤。badRequest (400)
targetInvalidLanguage
如果插入的 channelSection
資源包含無效的targeting.languages[]
屬性值,channelSections.insert
和channelSections.update
方法就會傳回這個錯誤。badRequest (400)
targetInvalidRegion
如果插入的 channelSection
資源包含無效的targeting.regions[]
屬性值,channelSections.insert
和channelSections.update
方法就會傳回這個錯誤。badRequest (400)
operationNotSupported
如果 API 使用者無法在 snippet.parentId
屬性識別的頂層註解中插入註解,comments.insert
方法會傳回此錯誤。在commentThread
資源中,snippet.canReply
屬性會指出目前的檢視者是否能回覆執行緒。badRequest (400)
invalidChannelId
如果要求中的 channelId
參數指定的管道 ID 無效,search.list
方法就會傳回這項錯誤。badRequest (400)
subscriptionForbidden
如果 API 使用者嘗試訂閱使用者自己的頻道, subscriptions.insert
方法會傳回此錯誤。 -
captions.update
方法不再支援invalidMetadata
和videoNotFound
錯誤。
-
2015 年 4 月 16 日
這次更新的修改如下:
-
遷移指南已更新,說明如何遷移仍在使用第 2 版 API 留言功能的應用程式。
本指南還指出了第 2 版 API 不支援但第 3 版 API 所支援的幾種註解功能。包括:
- 擷取頻道的留言
- 擷取與頻道相關的所有留言串,這表示 API 回應可能包含關於頻道或頻道任何影片的留言。
- 更新註解的文字
- 將留言標示為垃圾內容
- 設定留言的管理狀態
-
「訂閱推播通知」指南已更新,是為了反映通知只會推送至 Google PubSubHubBub 中樞,不會同時推送至 Superfeedr 中心 (如先前所述)。
2015 年 4 月 9 日
這次更新的修改如下:
-
API 的全新
commentThread
和comment
資源可讓您擷取、插入、更新、刪除及管理註解。-
commentThread
資源包含 YouTube 留言討論串的相關資訊,其中包含該留言的頂層留言和回覆 (如有)。commentThread
資源可以代表影片或頻道的留言,頂層註解和回覆實際上是位於
commentThread
資源中的巢狀comment
資源。請注意,commentThread
資源不一定包含註解的所有回覆,如果您要擷取特定註解的所有回覆,則必須使用comments.list
方法。此外,部分留言沒有回覆。API 支援下列
commentThread
資源方法:commentThreads.list
:擷取註解討論串清單。這個方法可用來擷取與特定影片或頻道相關聯的留言。commentThreads.insert
:建立新的頂層註解。(使用comments.insert
方法回覆現有的註解)。commentThreads.update
:修改頂層註解。
-
comment
資源包含關於單一 YouTube 留言的資訊。comment
資源可代表對影片或頻道的留言。除此之外,留言可以是頂層留言或頂層留言的回覆。API 支援下列
comment
資源方法:comments.list
:擷取註解清單。使用這個方法可擷取特定留言的所有回覆。comments.insert
:回覆現有註解。comments.update
– 修改註解。comments.markAsSpam
– 檢舉一或多則垃圾留言。comments.setModerationStatus
:設定一或多則留言的審核狀態。例如,你可以清除一則留言,讓留言公開顯示,或是拒絕不適合顯示的留言。API 要求必須獲得留言所屬頻道或影片的擁有者授權。comments.delete
– 刪除註解。
請注意,呼叫
comments.insert
、comments.update
、comments.markAsSpam
、comments.setModerationStatus
、comments.delete
、commentThreads.insert
和commentThreads.update
方法時必須使用 API 的新https://www.googleapis.com/auth/youtube.force-ssl
範圍 (如 2015 年 4 月 2 日的修訂版本記錄中所述)。 -
-
在全新的「訂閱推播通知」指南中,我們將說明 API 推出的全新推播通知支援 PubSubHubBub,這是伺服器對伺服器的發布/訂閱通訊協定,能處理網路存取資源的作業。當頻道進行下列任一活動時,PubSubHubBub 回呼伺服器即可收到 Atom 動態饋給通知:
- 上傳了一部影片
- 更新影片標題
- 更新影片的說明
-
遷移指南也已更新,記錄新的推播通知支援。不過,由於第 2 版 API 支援許多其他類型的推播通知,但在第 3 版 API 中不支援,因此該指南的「已淘汰」一節仍會列出 PubSubHubBub 支援。
-
API 的新
https://www.googleapis.com/auth/youtube.force-ssl
範圍現在是先前支援https://www.googleapis.com/auth/youtube
範圍的任何 API 方法的有效範圍。 -
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 badRequest (400)
invalidRating
如果要求包含 rating
參數的預期值,videos.rate
方法就會傳回這項錯誤。 -
subscriptions.insert
方法不再支援subscriptionLimitExceeded
錯誤,該錯誤先前表示提出要求的訂閱者已超出訂閱頻率限制。
2015 年 4 月 2 日
這次更新的修改如下:
-
新的
captions
資源代表 YouTube 字幕軌。字幕軌只能與一部 YouTube 影片建立關聯。 -
另外,遷移指南也已更新,說明如何遷移仍在使用 v2 API 字幕功能的應用程式。
-
API 的新
https://www.googleapis.com/auth/youtube.force-ssl
範圍必須透過 SSL 連線與 API 伺服器通訊。這個新範圍會授予與
https://www.googleapis.com/auth/youtube
範圍相同的存取權。事實上,這兩個範圍的功能完全相同,因為 YouTube API 伺服器只能透過 HTTPS 端點使用。因此,即使https://www.googleapis.com/auth/youtube
範圍不需要 SSL 連線,但實際上無法提出 API 要求。如要呼叫
caption
資源的所有方法,必須使用新範圍。
2015 年 3 月 11 日
這次更新的修改如下:
-
YouTube Data API (v3) 遷移指南中的新分頁包含「v3 API 的新功能」的新分頁,其中列出第 3 版 API 所支援及第 2 版 API 不支援的功能。與舊版相同的功能,仍會列於本指南的其他分頁中。舉例來說,「頻道 (個人資料)」分頁下方也會列出有關如何更新頻道內宣傳廣告活動資料的新功能。
-
YouTube Data API (v3) 遷移指南已更新,指出第 3 版 API 將支援下列第 2 版 API 功能:
-
YouTube Data API (v3) 遷移指南已更新,提醒你,v3 API 將不支援下列 v2 API 功能:
-
擷取影片推薦 - v3 API 不會擷取只包含目前 API 使用者推薦影片的清單。不過,您可以透過呼叫
activities.list
方法並將home
參數值設為true
,使用 v3 API 搜尋推薦影片。在 API 回應中,如果
snippet.type
屬性的值為recommendation
,資源就會對應至推薦的影片。在此情況下,contentDetails.recommendation.reason
和contentDetails.recommendation.seedResourceId
屬性會包含推薦影片的原因。提醒你,我們不保證回覆都會收錄一定數量的推薦影片。 -
擷取新的訂閱影片 - v3 API 不會擷取只含有最近上傳到 API 使用者所訂閱頻道的影片的清單。不過,您只要呼叫
activities.list
方法並將home
參數值設為true
,即可使用 v3 API 尋找新的訂閱影片。在 API 回應中,如果
snippet.type
屬性的值為upload
,資源會對應至新的訂閱影片。請注意,我們不保證回覆一定會包含任意數量的新訂閱影片。 -
動態消息更新的推播通知 – v2 API 支援推播通知,可使用簡易更新通訊協定 (SUP) 或 PubSubHubbub 監控 YouTube 使用者的使用者活動動態消息。每當有人訂閱頻道、分享影片、將影片加入最愛、留言或上傳影片時,系統就會提供通知。
第 3 版 API 將支援使用 PubSubHubbub 通訊協定的推播通知,但通知僅涵蓋影片上傳和影片標題或影片說明的更新內容。
-
頻道位置 - v2 API 使用
<yt:location>
標記來識別使用者在頻道 YouTube 公開個人資料中輸入的位置。雖然部分開發人員曾使用這個欄位將頻道與特定國家/地區建立關聯,但該欄位的資料可能無法持續用於這個目的。 -
設定或擷取開發人員標記:第 2 版 API 支援在上傳影片時,為影片與關鍵字或開發人員標記建立關聯。開發人員標記不會向 YouTube 使用者顯示,但影片擁有者可以擷取與特定開發人員標記相符的影片。
第 3 版 API 會提供類似 (但不完全相同) 的功能。具體來說,開發人員可以搜尋開發人員自家應用程式上傳的影片。在這項功能中,每部上傳的影片都會自動標上與開發人員在 Google Developers Console 中的應用程式相關聯的專案編號。隨後開發人員會使用相同的專案編號搜尋影片。
-
依發布日期、觀看次數或評分列出影片:在 v2 API 中,
orderby
參數可讓您按照位置、長度、發布日期、標題和其他多種值排序播放清單中的影片。在第 3 版 API 中,播放清單項目一般是以遞增順序排序,且無法使用其他排序選項。少數例外狀況。系統會自動將新上傳的影片、喜愛的影片、喜歡的影片或最近觀看的影片,自動加入以下類型播放清單的第一個項目 (
snippet.position
=0
)。因此,這些清單會根據項目加入清單的時間,按照最新到最舊項目的順序有效排序。- 使用者上傳內容
- 最愛的影片
- 喜歡的影片
- 觀看記錄
但請注意,系統會將新項目新增到「稍後觀看」清單播放清單會新增為該清單中最後一個項目,因此能有效從最舊到最新項目排序。
-
批次處理 – v3 API 支援 v2 API 支援的其中一種批次處理使用案例。v3 API 的
channels.list
、channelSections.list
、guideCategories.list
、playlistItems.list
、playlists.list
、subscriptions.list
、videoCategories.list
和videos.list
方法都支援id
參數,可用於指定以半形逗號分隔的 ID 清單 (影片 ID、頻道 ID 等)。您可以使用這些方法,透過單一要求擷取多項資源的清單。
這些變更生效後,本指南指出在現行 API 版本 (v3) 中,舊版 (v2) API 中即將淘汰的所有功能,
-
2015 年 3 月 4 日
這次更新的修改如下:
-
channelSections.delete
和channelSections.update
方法現在支援onBehalfOfContentOwner
參數,其他幾種方法已經支援此參數。 -
下列屬性及其子項屬性已淘汰:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
注意:這些屬性皆未受 API 淘汰政策約束。
-
video
資源的新contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
屬性會說明影片獲得 DJCQT (巴西) 評分的原因。 -
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 notFound (404)
channelNotFound
如果要求的 id
參數指定找不到的頻道,channels.update
方法會傳回此錯誤。badRequest (400)
manualSortRequiredinvalidValue
如果要求嘗試設定播放清單項目的位置,但播放清單不是使用手動排序, playlistItems.insert
和playlistItems.update
方法就會傳回此錯誤。舉例來說,播放清單項目可以按照日期或熱門程度排序,您可以從要求主體中傳送的資源中移除snippet.position
元素,即可解決這個錯誤。如果您希望播放清單項目在清單中有特定的位置,您必須先將播放清單的排序設定更新為「手動」。你可以透過 YouTube 影片管理員調整這項設定。forbidden (403)
channelClosed
如果要求的 channelId
參數指定已關閉的管道,playlists.list
方法會傳回此錯誤。forbidden (403)
channelSuspended
如果要求的 channelId
參數指定某個已遭停權的頻道,playlists.list
方法就會傳回這個錯誤。forbidden (403)
playlistForbidden
如果要求的 id
參數不支援要求,或是要求未獲得適當授權,playlists.list
方法就會傳回這個錯誤。notFound (404)
channelNotFound
如果要求的 channelId
參數指定找不到的頻道,playlists.list
方法會傳回此錯誤。notFound (404)
playlistNotFound
如果要求的 id
參數指定找不到播放清單,playlists.list
方法會傳回此錯誤。notFound (404)
videoNotFound
如果要求的 id
參數指定找不到影片,videos.list
方法會傳回此錯誤。badRequest (400)
invalidRating
如果要求包含 rating
參數的未預期值,videos.rate
方法會傳回此錯誤。
2015 年 3 月 2 日
這次更新的修改如下:
-
search.list
方法現在支援relevanceLanguage
參數,可讓您要求與特定語言最相關的結果。YouTube Data API (v3) 遷移指南也已更新,說明如何使用這個新參數。這個參數可解決目前 API 版本 (v3) 與已淘汰的舊版 (v2) 之間存在的功能差距。
-
YouTube Data API (v3) 遷移指南也已更新,說明淘汰第 2 版 API 中用於描述電影、預告片、電視節目、各季和電視劇集的特殊動態饋給和中繼資料欄位。
2015 年 1 月 14 日
這次更新的修改如下:
-
YouTube Data API (v3) 遷移指南已更新內容,說明如何使用第 3 版 API,透過 JavaScript 上傳影片。(詳情請參閱「上傳影片」一節)。這項功能與第 2 版 API 支援的瀏覽器上傳功能相同。請注意,這項移轉指南異動並未反映實際的 API 變更,而是提供新的程式碼範例,讓您透過用戶端 JavaScript 上傳影片。
由於支援使用 JavaScript 用戶端程式庫和 CORS 上傳影片,因此遷移指南不再列出瀏覽器型上傳功能,且該功能可能遭到 v3 API 淘汰。
-
videos.insert
方法的說明文件已更新,加入上述新的 JavaScript 程式碼範例。YouTube Data API (v3) 的 JavaScript 程式碼範例清單也已更新。
2014 年 11 月 11 日
這次更新的修改如下:
-
呼叫
search.list
方法的配額費用已變更為 100 個單位。重要事項:在多數情況下,您可以使用其他 API 方法,以較低的配額費用擷取資訊。舉例來說,您可以透過下列兩種方式尋找已上傳至 GoogleDevelopers 頻道的影片。
-
配額費用:100 個單位
呼叫
search.list
方法並搜尋GoogleDevelopers
。 -
配額費用:6 個單位
呼叫
channels.list
方法即可找到正確的頻道 ID。將forUsername
參數設為GoogleDevelopers
,並將part
參數設為contentDetails
。在 API 回應中,contentDetails.relatedPlaylists.uploads
屬性可指定頻道上傳影片的播放清單 ID。接著呼叫
playlistItems.list
方法,並將playlistId
參數設為擷取的 ID,並將part
參數設為snippet
。
-
2014 年 10 月 8 日
這次更新的修改如下:
-
channel
資源包含兩個新屬性:-
status.longUploadsStatus
屬性可指明頻道能否上傳長度超過 15 分鐘的影片。只有頻道擁有者授權 API 要求時,才會傳回這個屬性。有效的屬性值如下:allowed
:頻道可上傳長度超過 15 分鐘的影片。eligible
:頻道符合上傳長度超過 15 分鐘的資格,但必須先啟用這項功能。disallowed
- 頻道無法上傳長度超過 15 分鐘的影片。
如需進一步瞭解這些值,請參閱屬性定義。YouTube 說明中心也提供了這項功能的相關詳細資訊。
-
invideoPromotion.useSmartTiming
屬性會指出管道的宣傳廣告活動是否使用「智慧時間」。這項功能會嘗試在較可能獲得點擊的時間點顯示宣傳活動,避免干擾觀看體驗。這項功能還會挑選適用於每部影片的一項宣傳活動。
-
-
video
資源的snippet.title
和snippet.categoryId
屬性定義已更新,以便明確說明 API 處理videos.update
方法呼叫的方式。如果呼叫該方法來更新video
資源的snippet
部分,就必須為這兩個屬性設定值。如果您嘗試更新
video
資源的snippet
部分,且並未為這兩個屬性設定值,API 會傳回invalidRequest
錯誤。該錯誤的說明也已更新。 -
video
資源的contentDetails.contentRating.oflcRating
屬性能識別紐西蘭電影及文學分類局的影片分級,現在支援兩種全新分級:oflcRp13
和oflcRp16
。兩者分別對應於RP13
和RP16
評分。 -
channelBanners.insert
方法現在支援下列錯誤:錯誤類型 錯誤詳情 說明 badRequest
bannerAlbumFull
頻道擁有者的 YouTube 頻道圖片相簿有太多圖片。頻道擁有者必須前往 http://photos.google.com 前往相簿頁面,然後從該相簿圖片中移除部分圖片。
2014 年 9 月 12 日
這次更新的修改如下:
-
除了指定資源部分的費用外,呼叫
search.list
方法的配額費用已從 1 個單位變更為 2 個單位。
2014 年 8 月 13 日
這次更新的修改如下:
-
subscriptions.insert
方法現在支援下列錯誤:錯誤類型 錯誤詳情 說明 badRequest
subscriptionLimitExceeded
在此要求中找到的訂閱者已超出訂閱頻率限制。系統將於幾小時後再次嘗試訂閱。
2014 年 8 月 12 日
這次更新的修改如下:
-
「將應用程式遷移至 YouTube Data API (v3)」這份新指南說明如何使用 YouTube Data API (v3),執行 YouTube Data API (v2) 中的功能。舊版 API 已於 2014 年 3 月 4 日正式淘汰。本指南旨在協助您將仍在使用第 2 版 API 的應用程式遷移至最新的 API 版本。
2014 年 7 月 8 日
這次更新的修改如下:
-
playlists.insert
方法現在支援下列錯誤:錯誤類型 錯誤詳情 說明 badRequest
maxPlaylistExceeded
如果頻道的播放清單數量已達上限,因此無法建立播放清單,就會發生這個錯誤。
2014 年 6 月 18 日
這次更新的修改如下:
-
各個 API 方法的說明已更新,已納入呼叫該方法產生的配額費用。同樣地,我們更新了
part
參數的定義,指定可在 API 呼叫中擷取的每個部分的配額費用。舉例來說,呼叫subscriptions.insert
方法的配額費用約為 50 個單位。subscription
資源也包含三個部分 (snippet
、contentDetails
和subscriberSnippet
),而每個部分的費用為兩個單位。請注意,配額費用可能會在無預警的情況下變動。
2014 年 5 月 28 日
這次更新的修改如下:
-
search.list
方法現在支援location
和locationRadius
參數,可讓您搜尋與地理位置相關聯的影片。要求必須同時為這兩個參數指定值,才能根據位置擷取結果;如果要求只包含這兩個參數之一,API 就會傳回錯誤。-
location
參數會指定圓形地理區域中央的經緯度座標。 -
locationRadius
參數會指定影片相關地點的距離上限,如此與影片關聯位置之間可繼續顯示在搜尋結果中。
-
2014 年 5 月 13 日
這次更新的修改如下:
-
已更新
channel
資源的invideoPromotion.items[]
屬性,提醒你,頻道通常只能設定一項促銷商品。如果您嘗試插入的促銷商品過多,API 會傳回tooManyPromotedItems
錯誤,而該錯誤含有 HTTP400
狀態碼。 -
channelSection
資源現在可以包含幾種新類型精選內容的資訊。channelSection
資源的snippet.type
屬性現在支援下列值:postedPlaylists
- 頻道擁有者發布至頻道活動動態消息的播放清單postedVideos
- 頻道擁有者在頻道活動動態消息中發布的影片subscriptions
- 頻道擁有者訂閱的頻道
-
video
資源的新contentDetails.contentRating.ifcoRating
屬性會識別愛爾蘭電影分類辦公室 (Irish Film Classification Office) 接收到的分級。 -
更新
watermark
資源position.cornerPosition
屬性的定義,將浮水印一律顯示在播放器右上角。 -
更新
search.list
方法的q
參數定義。該查詢字詞可以使用布林值 NOT (-
) 運算子,排除與特定搜尋字詞相關聯的影片。此值也可以使用布林 OR (|
) 運算子,尋找與多個搜尋字詞之一相關的影片。 -
我們更新了對
search.list
呼叫在 API 回應中傳回的pageInfo.totalResults
屬性的定義,該值是概略值,不一定代表確切的值。此外,最大值為 1,000,000。請不要使用這個值建立分頁連結。請改用nextPageToken
和prevPageToken
屬性值,決定是否要顯示分頁連結。 -
watermarks.set
和watermarks.unset
方法已更新,以反映 API 對這些方法的成功要求會傳回 HTTP204
回應代碼。
2014 年 5 月 2 日
這次更新的修改如下:
-
新的
i18nLanguage
資源會識別 YouTube 網站支援的應用程式語言。應用程式語言也可以稱為 UI 語言。在 YouTube 網站上,系統可能會根據 Google 帳戶設定、瀏覽器語言或 IP 位置,自動選取應用程式語言;此外,使用者也可以從 YouTube 網站頁尾中手動選取想要的使用者介面語言。API 支援一個列出支援的應用程式語言的方法。在呼叫
videoCategories.list
和guideCategories.list
等 API 方法時,可使用支援的語言做為hl
參數的值。 -
新的
i18nRegion
資源識別出可讓 YouTube 使用者選取偏好的內容區域。內容區域也稱為內容地區。對於 YouTube 網站,系統可能會根據 YouTube 網域或使用者的 IP 位置等經驗法則自動選取內容地區,使用者也可以從 YouTube 網站頁尾手動選取想要的內容地區。這個 API 支援一個列出支援內容地區的方法。呼叫
search.list
、videos.list
、activities.list
和videoCategories.list
等 API 方法時,可以使用支援的區碼做為regionCode
參數的值。
2014 年 4 月 7 日
這次更新的修改如下:
-
新的
channelSection
資源包含頻道選擇設為精選影片的一系列資訊。舉例來說,您可以在版面中宣傳頻道最新上傳的內容、最熱門的上傳影片,或是一或多個播放清單中的影片。API 支援列出、插入、更新或刪除頻道版面的方法。如要擷取已驗證使用者的頻道版面清單,您可以指定特定的頻道 ID,或指定頻道版面 ID 清單。
錯誤說明文件也已更新,用來說明 API 專門針對這些新方法支援的錯誤訊息。
-
已更新
video
資源fileDetails
物件的定義,說明只有在影片的processingDetails.fileDetailsAvailability
屬性值為available
時,才會傳回該物件。同樣地,我們已更新
video
資源suggestions
物件的定義,說明只有影片的processingDetails.tagSuggestionsAvailability
屬性或processingDetails.editorSuggestionsAvailability
屬性的值為available
時,才會傳回該物件。 -
videos.insert
和videos.update
方法的說明文件已更新,以反映呼叫這些方法時可以設定status.publishAt
屬性。 -
channel
資源invideoPromotion
物件的定義已更新,說明只有頻道擁有者才能擷取物件。 -
videos.rate
方法的參數清單已更新,以反映該方法實際上不支援onBehalfOfContentOwner
參數。此是說明文件錯誤,因為設定此參數的videos.rate
要求會傳回500
錯誤。
2014 年 3 月 31 日
這次更新的修改如下:
-
video
資源的全新status.publishAt
屬性可讓你指定私人影片的發布日期和時間。影片的隱私狀態為private
,且影片從未發布過,才能設定這項屬性。這個新屬性不適用廢止政策。
2014 年 3 月 13 日
這次更新的修改如下:
-
API 現已支援
channel
資源的contentOwnerDetails
部分。新部分包含與頻道連結的 YouTube 合作夥伴相關的頻道資料,包括已連結頻道的內容擁有者 ID,以及內容擁有者與頻道建立連結的日期和時間。請注意,這個新措施不適用廢止政策。 -
說明文件現在會列出下列屬性支援的字元長度上限:
資源 屬性 長度上限 channel
invideoPromotion.items[].customMessage
40 個半形字元 video
snippet.title
100 個字元 (或 50 個全形字元) video
snippet.description
5000 個位元組 video
snippet.tags
500 個半形字元,請注意,屬性值是一份清單,清單中項目之間的逗號都會計入限制。 -
channel
資源的brandingSettings.watch.featuredPlaylistId
屬性已淘汰。如果您嘗試設定該值,API 就會傳回錯誤。 -
錯誤說明文件現在會指定每種錯誤類型的 HTTP 回應代碼。
-
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 badRequest (400)
invalidCriteria
如果要求指定了無法搭配使用的篩選器參數, channels.list
方法會傳回此錯誤。badRequest (400)
channelTitleUpdateForbidden
如果您嘗試更新管道的 brandingSettings
部分並變更brandingSettings.channel.title
屬性的值,channels.update
方法就會傳回這個錯誤。(請注意,如果您省略屬性,API 不會傳回錯誤)。badRequest (400)
invalidRecentlyUploadedBy
如果 invideoPromotion.items[].id.recentlyUploadedBy
屬性指定的頻道 ID 無效,channels.update
方法就會傳回這個錯誤。badRequest (400)
invalidTimingOffset
如果 invideoPromotion
部分指定無效的時間偏移,channels.update
方法會傳回這個錯誤。badRequest (400)
tooManyPromotedItems
如果 invideoPromotion
部分指定的數量超過促銷商品數量上限,channels.update
方法就會傳回這項錯誤。forbidden (403)
promotedVideoNotAllowed
如果 invideoPromotion.items[].id.videoId
屬性指定的是找不到或無法用於宣傳商品的影片 ID,channels.update
方法會傳回此錯誤。forbidden (403)
websiteLinkNotAllowed
如果 invideoPromotion.items[].id.websiteUrl
屬性指定的網址不允許,channels.update
方法會傳回這項錯誤。required (400)
requiredTimingType
如果要求未指定 YouTube 應顯示促銷商品的預設時間設定, channels.update
方法會傳回這項錯誤。required (400)
requiredTiming
channels.update
方法必須為每個宣傳商品指定invideoPromotion.items[].timing
物件。required (400)
requiredWebsiteUrl
channels.update
方法必須為每個宣傳商品指定invideoPromotion.items[].id.websiteUrl
屬性。badRequest (400)
invalidPublishAt
如果要求中繼資料指定的排定發布時間無效, videos.insert
方法會傳回這個錯誤。
2014 年 3 月 4 日
這次更新的修改如下:
-
現在 YouTube Data API 第 3 版必須遵守《YouTube API 服務條款》中所述的廢止政策。請注意,如果頁面上列出受淘汰政策影響的 API,該頁面會特別排除部分 v3 API 功能必須遵守相關政策。
2013 年 12 月 5 日
這次更新的修改如下:
-
search.list
方法的說明文件已更新,可正確反映您在提交搜尋要求時,不需要僅指定一個篩選器參數的值。可以改為設定 0 篩選器參數的值,或是一個篩選器參數。 -
我們已更新
search.list
方法參數的定義。如果您也指定了下列任一參數的值,則您必須將type
參數值設為video
:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
上傳的頻道橫幅圖片大小已縮減為 2048 像素 x 1152 像素。(先前大小下限為 2120 x 1192 像素)。另請注意,
channel
資源說明文件指出透過 API 提供的所有橫幅圖片的大小上限。舉例來說,電視應用程式的brandingSettings.image.bannerTvImageUrl
圖片大小上限為 2120 x 1192 像素,但實際圖片大小則為 2048 x 1152 像素。YouTube 說明中心提供了更多指引,說明如何最佳化頻道圖片,以便在各種裝置上呈現最佳效果。 -
已更新部分
channel
資源屬性定義,以反映下列資訊:brandingSettings.channel.description
屬性值的長度上限為 1000 個字元。brandingSettings.channel.featuredChannelsTitle
屬性的長度上限為 30 個半形字元。brandingSettings.channel.featuredChannelsUrls[]
屬性現在最多可列出 100 個頻道。- 如果設定
brandingSettings.channel.unsubscribedTrailer
屬性值,則必須指定頻道擁有者擁有的公開或不公開影片的 YouTube 影片 ID。
-
channels.update
方法現在支援更新invideoPromotion.items[].promotedByContentOwner
屬性。這個屬性可指出顯示宣傳活動時,是否要顯示內容擁有者的名稱。只有在代表內容擁有者使用onBehalfOfContentOwner
參數建立屬性值的 API 要求時,才能設定此屬性。 -
playlistItems.list
和playlistItems.insert
方法現在支援onBehalfOfContentOwner
參數,其他幾種方法已經支援此參數。 -
contentDetails.contentRating.acbRating
屬性現在可為電影指定澳洲分級委員會 (ACB) 或澳洲通訊及媒體局 (ACMA) 的兒童電視節目分級。 -
新的
contentDetails.contentRating.catvRating
和contentDetails.contentRating.catvfrRating
屬性會識別 加拿大電視分類系統所接收影片的分級,以及魁北克的法文分級系統 Régie du cinéma 分級系統。 -
videoCategory
資源的新snippet.assignable
屬性會指出更新的影片或新上傳的影片是否可與該影片類別建立關聯。 -
已為下列方法新增程式碼範例:
activities.insert
(前往)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(前往)search.list
(前往)thumbnails.set
(Java)videos.insert
(前往)
2013 年 10 月 24 日
這次更新的修改如下:
-
這個 API 包含兩項額外功能,可協助尋找及展示現場直播內容:
搜尋結果中的新
snippet.liveBroadcastContent
屬性會指出影片或頻道資源是否有現場直播內容。有效的屬性值包括upcoming
、active
和none
。-
video
資源的新snippet.liveBroadcastContent
屬性會指出影片是否為即將開始或正在進行的現場直播。以下清單說明屬性的可能值:upcoming
:影片尚未開始的現場直播。active
- 影片正在進行現場直播。none
- 影片不是即將開始或正在進行的現場直播。這是指在 YouTube 上仍可觀看的已播完廣播的屬性值。
-
video
資源的新liveStreamingDetails
屬性是一個物件,內含關於即時視訊播送的中繼資料。如要擷取這項中繼資料,請在part
參數值的資源部分清單中加入liveStreamingDetails
。中繼資料包含下列新屬性:liveStreamingDetails.actualStartTime
:廣播實際開始的時間。(在廣播的狀態為active
時,就會顯示這個值)。liveStreamingDetails.actualEndTime
:直播實際結束的時間。(廣播結束後,這個值就會顯示這個值)。liveStreamingDetails.scheduledStartTime
:預定開始播送的時間。liveStreamingDetails.scheduledEndTime
:播送的結束時間。如果屬性值為空白,或是沒有屬性,則直播會安排無限期開始直播。liveStreamingDetails.concurrentViewers
- 觀看現場直播的人數。
如要擷取此中繼資料,請在呼叫
videos.list
、videos.insert
或videos.update
方法時,在part
參數值中加入liveStreamingDetails
。
請注意,我們還在 2013 年 10 月 1 日推出了兩項用於辨識現場直播內容的功能,也就是
search.list
方法的eventType
參數,以及搜尋結果的snippet.liveBroadcastContent
屬性。 -
-
videos.insert
方法現在支援notifySubscribers
參數,該參數指出 YouTube 是否應向訂閱影片頻道的使用者傳送新影片的通知。這個參數的預設值是True
,表示訂閱者會在新上傳影片時收到通知。不過,如果要上傳多部影片的頻道擁有者,建議您將這個值設為False
,避免系統傳送新影片時通知頻道訂閱者。 -
更新
channels.update
方法時可修改的屬性清單,加入invideoPromotion.items[].customMessage
和invideoPromotion.items[].websiteUrl
屬性。此外,清單已經過修改,識別可修改的brandingSettings
屬性。這些brandingSettings
屬性已經可以修改,因此說明文件變更不會反映 API 現有功能的變更。 -
playlists.insert
、playlists.update
和playlists.delete
方法現在支援onBehalfOfContentOwner
參數,已經可支援其他幾種方法。 -
playlists.insert
方法現在支援onBehalfOfContentOwnerChannel
參數,其他方法已支援此參數。 -
video
資源的contentDetails.contentRating.tvpgRating
屬性現在支援pg14
值 (對應TV-14
評分)。 -
已修正做為搜尋結果的一部分
snippet.liveBroadcastContent
屬性的定義,以反映live
是有效的屬性值,但active
並非有效的屬性值。 -
video
資源的contentDetails.contentRating.mibacRating
屬性現在支援兩種額外評分:mibacVap
(VAP) - 兒童應由成人陪同觀賞。mibacVm6
(V.M.6) - 僅限 6 歲以上觀眾觀看。mibacVm12
(V.M.12) - 僅限 12 歲以上觀眾觀看。
-
channel
資源的新invideoPromotion.items[].promotedByContentOwner
屬性可指定在顯示宣傳活動時,是否會顯示內容擁有者的名稱。只有在設定值代表內容擁有者的 API 要求時,才能設定這個欄位。詳情請參閱onBehalfOfContentOwner
參數。
2013 年 10 月 1 日
這次更新的修改如下:
-
channel
資源的新auditDetails
物件包含頻道資料,多頻道聯播網 (MCN) 會在判斷是否接受或拒絕特定頻道時評估這些資料。請注意,任何擷取這項資源部分的 API 要求都必須提供包含https://www.googleapis.com/auth/youtubepartner-channel-audit
範圍的授權權杖。此外,當 MCN 決定接受或拒絕頻道時,或在提出代碼核發後的兩週內,你就必須先撤銷使用該範圍的所有權杖。 -
channel
資源的invideoPromotion.items[].id.type
屬性現在支援recentUpload
值,表示促銷商品是從指定頻道最近上傳的影片。根據預設,頻道會與設定影片內宣傳資料的頻道相同。不過,只要將新的
invideoPromotion.items[].id.recentlyUploadedBy
屬性值設為該頻道的頻道 ID,就能宣傳其他頻道最近上傳的影片。 -
channel
資源包含三個新屬性 (brandingSettings.image.bannerTvLowImageUrl
、brandingSettings.image.bannerTvMediumImageUrl
、brandingSettings.image.bannerTvHighImageUrl
),用於指定電視應用程式頻道頁面上橫幅圖片的網址。 -
搜尋結果中的新
snippet.liveBroadcastContent
屬性會指出影片或頻道資源是否有現場直播內容。有效的屬性值包括upcoming
、active
和none
。- 如果是
video
資源,值為upcoming
表示影片是尚未開始的現場直播,而值為active
表示影片正在進行現場直播。 - 如果是
channel
資源,值為upcoming
表示頻道已安排尚未開始的直播,值為acive
表示頻道正在進行現場直播。
- 如果是
-
在
watermark
資源中,targetChannelId
屬性已從物件變更為字串。targetChannelId
屬性現在會指定該值本身,而不是浮水印圖片所連結頻道 YouTube 頻道 ID 的子屬性。因此,該資源的targetChannelId.value
屬性已遭移除。 -
thumbnails.set
方法現在支援onBehalfOfContentOwner
參數,其他方法已支援此參數。 -
search.list
方法現在支援eventType
參數,該參數會限制搜尋只傳回活動、即將進行或已完成的廣播事件。 -
新的
contentDetails.contentRating.mibacRating
屬性會標識影片從義大利的 Ministero dei Beni e delle Attivita Culturei e del Turismo 獲得的分級。 -
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳情 說明 badRequest
invalidImage
如果提供的圖片內容無效, thumbnails.set
方法會傳回這個錯誤。forbidden
videoRatingDisabled
如果接受評分的影片擁有者已停用該影片的評分功能, videos.rate
方法會傳回此錯誤。
2013 年 8 月 27 日
這次更新的修改如下:
-
新的
watermark
資源可識別指定頻道影片播放期間顯示的圖片。您也可以指定圖片所連結的目標頻道,以及時間詳細資料,以決定浮水印在影片播放期間的時機,以及顯示的時間長度。watermarks.set
方法會上傳並設定頻道的浮水印圖片。watermarks.unset
方法會刪除頻道的浮水印圖片。錯誤說明文件會描述 API 專門針對
watermarks.set
和watermarks.unset
方法支援的錯誤訊息。 -
channel
資源的新statistics.hiddenSubscriberCount
屬性含有布林值,表示是否要隱藏頻道的訂閱人數。因此,如果頻道的訂閱人數可以公開顯示,則屬性值為false
。 -
playlists.list
方法現在支援onBehalfOfContentOwner
和onBehalfOfContentOwnerChannel
參數。這兩種參數已經支援其他幾種方法。 -
videos.list
方法現在支援regionCode
參數,該參數可識別應擷取圖表的內容區域。這個參數只能與chart
參數合併使用。參數值為 ISO 3166-1 alpha-2 國家/地區代碼。 -
error documentation
說明下列新的常見要求錯誤,如果使用多種 API 方法,就有可能發生這個錯誤:錯誤類型 錯誤詳情 說明 forbidden
insufficientPermissions
為請求提供的 OAuth 2.0 權杖相關聯的範圍不足,無法存取所要求的資料。
2013 年 8 月 15 日
這次更新的修改如下:
-
channel
資源的invideoPromotion
物件包含下列全新和更新後的屬性:-
API 現在支援將網站指定為促銷商品。方法是將
invideoPromotion.items[].id.type
屬性值設為website
,並使用新的invideoPromotion.items[].id.websiteUrl
屬性指定網址。您也可以使用新的invideoPromotion.items[].customMessage
屬性定義促銷活動要顯示的自訂訊息。可以連結至相關的網站、商家網站或社交網站。請參閱 YouTube 說明中心的關聯網站和商家網站的操作說明,進一步瞭解如何為內容啟用連結。
加入宣傳連結,即表示您同意這些連結不得將流量重新導向至未授權的網站,且符合 YouTube 的 AdWords 政策、YouTube 廣告政策、YouTube《社群規範》和《YouTube 服務條款》。
-
這些在影片播放期間顯示促銷商品的時間設定相關的屬性經過重組:
-
invideoPromotion.timing
物件已移至invideoPromotion.items[].timing
。這個物件現在可讓您自訂invideoPromotion.items[]
清單中每個宣傳項目的時間資料。 -
新的
invideoPromotion.defaultTiming
物件會指定促銷活動的預設時間設定。這些設定會定義促銷項目在頻道任一部影片播放期間顯示的時機。您可以使用invideoPromotion.items[].timing
物件覆寫任何特定促銷商品的預設時間。 -
新的
invideoPromotion.items[].timing.durationMs
屬性可指定促銷活動要顯示的時間長度 (以毫秒為單位)。invideoPromotion.defaultTiming
物件也包含durationMs
欄位,用於指定宣傳項目的預設顯示時間長度。
-
-
invideoPromotion.items[].type
和invideoPromotion.items[].videoId
屬性都已移至invideoPromotion.items[].id
物件中。
-
-
subscriptions.list
方法現在支援onBehalfOfContentOwner
和onBehalfOfContentOwnerChannel
參數。這兩種參數已經支援其他幾種方法。 -
在對
thumbnails.set
要求的 API 回應中,kind
屬性值已從youtube#thumbnailListResponse
變更為youtube#thumbnailSetResponse
。 -
已為下列方法新增程式碼範例:
channels.update
(Java、Python)playlists.insert
(.NET、PHP)subscriptions.insert
(PHP、Python)thumbnails.set
(PHP、Python)videos.insert
(PHP)videos.list
(PHP)videos.rate
(Python)videos.update
(Java、PHP、Python)
請注意,由於
videos.rate
方法現在可處理上述功能,因此playlistItems.insert
方法的 Python 範例也已移除。 -
error documentation
說明下列新的要求內容錯誤,任何支援mine
要求參數的 API 方法都可能發生這個錯誤:錯誤類型 錯誤詳情 說明 badRequest
invalidMine
如果已驗證的使用者是 YouTube 合作夥伴,您就無法在請求中使用 mine
參數。您應移除mine
參數、移除onBehalfOfContentOwner
參數來驗證 YouTube 使用者,或提供onBehalfOfContentOwnerChannel
參數 (如果有呼叫的方法可用) 做為合作夥伴的管道之一。
2013 年 8 月 8 日
這次更新的修改如下:
-
YouTube Data API 入門指南的配額用量一節已更新,將反映影片上傳的配額費用從約 1,6,000 個單位變更為約 1600 個單位。
2013 年 7 月 30 日
這次更新的修改如下:
-
在
channelBanner
資源中,kind
屬性的值已從youtube#channelBannerInsertResponse
變更為youtube#channelBannerResource
。系統會針對channelBanners.insert
要求傳回這項資源。 -
channel
資源的新brandingSettings.channel.profileColor
屬性會指定醒目的顏色,與頻道內容相輔相成。屬性值是井字號 (#
),後面接著六個字元的十六進位字串,例如#2793e6
。 -
API 現在支援指定訂閱是適用於頻道所有的活動,或只適用於新上傳的影片。
subscription
資源的新contentDetails.activityType
屬性會識別要通知訂閱者的活動類型。有效的屬性值為all
和uploads
。 -
videos.list
方法支援新的參數,可用於擷取 YouTube 上最熱門影片的圖表:chart
參數可指定要擷取的圖表。目前唯一支援的值為mostPopular
。請注意,chart
是篩選器參數,因此無法與其他篩選器參數 (id
和myRating
) 一起用於相同的要求。videoCategoryId
參數代表應擷取圖表的影片類別。這個參數只能與chart
參數合併使用。根據預設,圖表不侷限於特定類別。
-
video
資源的新topicDetails.relevantTopicIds[]
屬性提供與影片或相關內容相關的 Freebase 主題 ID 清單。片中可能會提及或出現這類主題。 -
video
資源的recordingDetails.location.elevation
屬性已重新命名為recordingDetails.location.altitude
,且其fileDetails.recordingLocation.location.elevation
屬性已重新命名為fileDetails.recordingLocation.location.altitude
。 -
video
資源的contentDetails.contentRating
物件會指定影片在各種分級配置 (包括 MPAA 分級、TVPG 分級等) 下收到的分級。API 現在支援每個分級系統,可支援影片尚未分級的分級值。請注意,MPAA 分級是指「未分級」評等通常用於識別非剪裁版本的電影,而該影片的剪輯版本獲得官方分級。 -
video
資源的新contentDetails.contentRating.ytRating
屬性會識別年齡限制內容。如果 YouTube 發現影片含有不適合未滿 18 歲使用者的內容,屬性值會是ytAgeRestricted
。如果缺少這個屬性,或是屬性值為空白,表示系統尚未將內容標示為年齡限制。 -
channels.list
方法的mySubscribers
參數已淘汰。使用subscriptions.list
方法和其mySubscribers
參數,擷取已驗證使用者頻道的訂閱者清單。 -
channelBanners.insert
、channels.update
、videos.getRating
和videos.rate
方法現在均支援onBehalfOfContentOwner
參數。這個參數表示已驗證的使用者是參數值中指定的內容擁有者。 -
我們更新了
channels.update
方法的說明文件,以反映該方法可用來更新channel
資源的brandingSettings
物件及其子項屬性。該說明文件現在也列出了更新的屬性清單,您可以為channel
資源的invideoPromotion
物件設定這些屬性。 -
error documentation
說明下列新的錯誤:錯誤類型 錯誤詳情 說明 forbidden
accountDelegationForbidden
這個錯誤並非針對特定 API 方法所造成。表示已驗證的使用者無權代表指定的 Google 帳戶處理事務。 forbidden
authenticatedUserAccountClosed
這個錯誤並非針對特定 API 方法所造成。它表示已驗證使用者的 YouTube 帳戶已關閉。如果使用者是代表其他 Google 帳戶執行操作,則代表其他帳戶已經關閉。 forbidden
authenticatedUserAccountSuspended
這個錯誤並非針對特定 API 方法所造成。結果顯示已驗證使用者的 YouTube 帳戶已停權。如果使用者是代表其他 Google 帳戶執行動作,則這個錯誤表示其他帳戶已遭停權。 forbidden
authenticatedUserNotChannel
這個錯誤並非針對特定 API 方法所造成。也代表 API 伺服器無法識別與 API 要求相關聯的頻道。如果要求已獲授權,且使用 onBehalfOfContentOwner
參數,請一併設定onBehalfOfContentOwnerChannel
參數。forbidden
cmsUserAccountNotFound
這個錯誤並非針對特定 API 方法所造成。CMS 使用者無法代表指定的內容擁有者執行動作。 notFound
contentOwnerAccountNotFound
這個錯誤並非針對特定 API 方法所造成。找不到指定的內容擁有者帳戶。 badRequest
invalidPart
這個錯誤並非針對特定 API 方法所造成。要求的 part
參數指定無法同時寫入的部分。badRequest
videoChartNotFound
要求指定不受支援或無法使用的影片圖表時, videos.list
方法會傳回此錯誤。notFound
videoNotFound
videos.update
方法會傳回這個錯誤,表示找不到您要更新的影片。請檢查要求主體中id
屬性的值,確保值正確無誤。
2013 年 6 月 10 日
這次更新的修改如下:
-
channels.list
方法的新forUsername
參數可讓您指定 YouTube 使用者名稱,藉此擷取頻道的相關資訊。 -
activities.list
方法現在支援regionCode
參數,可指示 API 傳回與指定國家/地區相關的結果。如果授權使用者之前的 YouTube 活動資訊不足,無法產生活動動態消息,YouTube 就會採用這個值。 -
播放清單資源現在包含
snippet.tags
屬性。資源只會傳回給擷取自己播放清單相關資料的授權使用者。授權使用者呼叫playlists.insert
或playlists.update
方法時,也可以設定播放清單標記。 -
onBehalfOfContentOwner
參數先前適用於channels.list
和search.list
方法,現在也支援videos.insert
、videos.update
和videos.delete
方法。請注意,在對videos.insert
方法的呼叫中使用此參數時,該要求必須一併指定新onBehalfOfContentOwnerChannel
參數的值,指出要將影片新增至哪個頻道。此頻道必須與onBehalfOfContentOwner
參數指定的內容擁有者連結。參數用於表示要求的授權憑證可指明 YouTube CMS 使用者,這些使用者皆代表參數值中指定的內容擁有者。使用者驗證的 CMS 帳戶必須連結至指定的 YouTube 內容擁有者。
這個參數適用於擁有及管理許多不同 YouTube 頻道的內容合作夥伴。此參數讓這些合作夥伴只要驗證一次,便可存取其所有的影片和頻道資料,而不需要為每個頻道提供驗證憑證。
針對此版本,參數現在可讓內容合作夥伴在合作夥伴擁有的任一 YouTube 頻道中插入、更新或刪除影片。
-
error documentation
說明下列新的錯誤:錯誤類型 錯誤詳情 說明 forbidden
insufficientCapabilities
這個錯誤並非針對特定 API 方法所造成。表示呼叫 API 的 CMS 使用者權限不足,無法執行要求的作業。這個錯誤與使用 onBehalfOfContentOwner
參數有關,但有幾個 API 方法支援這個參數。unauthorized
authorizationRequired
當要求使用 home
參數但未獲得適當授權時,activities.list
方法會傳回此錯誤。 -
您已經使用資源的
id
屬性指定頻道 ID,因此channels
資源中的invideoPromotion.channelId
屬性已遭移除。 -
新的使用頻道 ID 指南說明瞭 API 如何使用頻道 ID。如果開發人員是從舊版 API 遷移,且擁有的應用程式需要為
default
使用者要求內容,或需要每個 YouTube 頻道都有專屬使用者名稱,這份指南就特別實用。
2013 年 5 月 22 日
這次更新的修改如下:
-
新的
channelBanners.insert
方法可讓您上傳橫幅圖片,日後可使用channel
資源的新brandingSettings.image.bannerExternalUrl
屬性,將其設為頻道的橫幅圖片。 -
channels.update
方法的說明文件已更新,列出可在呼叫方法時修改的屬性。 -
video
資源說明文件不再將unspecified
列為suggestions.processingErrors[]
、suggestions.processingHints[]
、suggestions.processingWarnings[]
和suggestions.editorSuggestions[]
屬性的有效屬性值。 -
videos.list
方法的maxResults
參數現在的預設值是5
。 -
error documentation
現在會列出channelBanners.insert
和subscriptions.list
方法的錯誤。此頁面也會列出channels.update
方法的多個新錯誤。
2013 年 5 月 14 日
這次更新的修改如下:
2013 年 5 月 10 日
這次更新的修改如下:
-
YouTube 不再識別實驗性 API 功能和服務。因此我們現在提供即將受到淘汰政策影響的 YouTube API 清單。
2013 年 5 月 8 日
這次更新的修改如下:
-
管道資源現在支援
inVideoPromotion
物件,該物件包含與頻道相關聯的促銷廣告活動相關資訊。頻道可以使用影片內宣傳廣告活動,在頻道的影片播放期間,在影片播放器中顯示推薦影片的縮圖。您可以在
channels.list
要求的part
參數值中加入invideoPromotion
,以擷取這項資料。 -
新的
channels.update
方法可用來更新頻道的影片內宣傳廣告活動資料。請注意,這個方法僅支援更新channel
資源中的invideoPromotion
部分,尚未支援該資源的其他部分更新。
2013 年 5 月 2 日
這次更新的修改如下:
-
頻道資源現在支援
status.isLinked
屬性,這表示頻道資料識別的是已連結至 YouTube 使用者名稱或 Google+ 帳戶的使用者。擁有上述任一連結的使用者已擁有公開的 YouTube 身分,而由於此身分執行多項操作 (例如上傳影片) 的先決條件。 -
訂閱資源現在支援
subscriberSnippet
部分。這個物件會封裝訂閱者頻道的片段資料。 -
API 現在支援
videos.getRating
方法,可擷取已驗證使用者給予一或多部影片清單的評分。 -
videos.list
方法的新myRating
參數可讓您擷取已驗證使用者評分為like
或dislike
的影片清單。myRating
參數和id
參數現在都是篩選器參數,也就是說,API 要求必須確切指定其中一個參數。(先前,id
參數是該方法的必要參數)。如果要求嘗試擷取影片評分資訊,但沒有適當授權,這個方法會傳回
forbidden
錯誤。 -
加入
myRating
參數後,videos.list
方法也已更新,以支援分頁。不過請注意,只有使用myRating
參數的要求才支援該分頁參數。(使用id
參數的要求不支援分頁參數和資訊)。-
maxResults
參數會指定 API 可在結果集中傳回的影片數量上限,pageToken
參數則會指出您要擷取的結果集中特定網頁。 -
為回應
videos.list
要求而傳回的youtube#videoListResponse
資源現在包含pageInfo
物件,其中包含結果總數及目前結果集中包含的結果數量等詳細資料。youtube#videoListResponse
資源也可以包含nextPageToken
和prevPageToken
屬性,每個屬性都會提供符記,可用於擷取結果集中的特定網頁。
-
-
videos.insert
方法支援下列新參數:autoLevels
:將此參數值設為true
,指示 YouTube 自動強化影片的亮度和色彩。stabilize
:將此參數值設為true
,指示 YouTube 移除攝影機動作造成的晃動情形來調整影片。
-
已將
channelTitle
屬性新增至下列資源的snippet
:playlistItem
:屬性可指定新增播放清單項目的頻道名稱。playlist
:屬性可指定建立播放清單的頻道名稱。subscription
:屬性可指定訂閱的頻道名稱。
-
已為下列方法新增程式碼範例:
activities.insert
(Ruby)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java、Ruby)videos.insert
(.NET、Ruby)
-
subscriptions.list
方法的新mySubscribers
參數可讓您擷取目前已驗證使用者的訂閱者清單。這個參數只能用於適當授權的要求。注意:這項功能是用來取代
channels.list
方法目前支援的mySubscribers
參數。該參數將被淘汰。 -
在
video
資源中,屬性值unspecified
不再是下列任一屬性的可能值: -
包含未預期參數的 API 要求現在會傳回
badRequest
錯誤,而回報的錯誤原因為unexpectedParameter
。 -
當播放清單包含允許的項目數量上限更新時,
playlistItems.insert
方法會傳回錯誤。錯誤現已回報為forbidden
錯誤,錯誤原因為playlistContainsMaximumNumberOfVideos
。
2013 年 4 月 19 日
這次更新的修改如下:
-
新的
videos.rate
方法可讓使用者設定影片的like
或dislike
評分,或是移除影片的評分。錯誤說明文件也已經更新,列出 API 為回應
videos.rate
方法呼叫時可能傳回的錯誤。 -
API 說明文件現已將縮圖圖片識別為獨立資源,全新的
thumbnails.set
方法可讓您將自訂影片縮圖上傳至 YouTube,然後為影片設定縮圖。錯誤說明文件也已經更新,列出 API 為回應
thumbnails.set
方法呼叫時可能傳回的錯誤。請注意,這項變更實際上不會影響會傳回縮圖圖片的現有資源。縮圖圖片在資源中的傳回方式與之前相同,不過說明文件已列出 API 可能傳回的不同縮圖大小名稱。
-
channel
資源的新brandingSettings
部分可識別頻道頻道頁面和影片觀賞頁面的設定、文字和圖片。 -
playlistItem
資源包含下列新屬性:-
新的
status
物件會封裝播放清單項目的狀態資訊,status.privacyStatus
屬性則用於識別播放清單項目的隱私權狀態。
-
-
video
資源包含下列新屬性:-
status.publicStatsViewable
屬性會指明觀賞頁面中的延伸影片統計資料是否公開顯示。根據預設,您可以查看這些統計資料,且即使將屬性值設為false
,系統仍會公開顯示影片的觀看次數和評分等統計資料。您可以在呼叫videos.insert
或videos.update
方法時設定此屬性的值。 -
contentDetails.contentRating
物件會封裝影片在不同分級配置下獲得的評分。以下清單列出支援的分級系統,並提供與各分級系統相關聯的房源連結。屬性定義可指出每個系統支援的分級值。
-
-
playlistItems.update
方法的說明文件已更新,以反映必須在傳送做為要求主體的資源中指定snippet.resourceId
屬性。 -
search.list
方法現在支援下列功能:-
新的
forMine
參數會限制搜尋作業,只擷取已驗證使用者的影片。 -
order
參數現在支援依標題 (order=title
) 的字母順序或影片數量遞減排序結果 (order=videoCount
)。 -
新的
safeSearch
參數可指出搜尋結果是否應包含受限制的內容。
-
-
videos.insert
方法支援數種新錯誤,如下表所示:錯誤類型 錯誤詳情 說明 badRequest
invalidCategoryId
snippet.categoryId
屬性指定的類別 ID 無效。使用videoCategories.list
方法擷取支援的類別。badRequest
invalidRecordingDetails
metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
要求中繼資料指定的電玩遊戲分級無效。 badRequest
invalidVideoMetadata
要求中繼資料無效。 -
onBehalfOfContentOwner
參數已從videos.update
和videos.delete
方法支援的參數清單中移除。
2013 年 3 月 12 日
這次更新的修改如下:
-
已將
channelTitle
屬性新增至下列資源的snippet
: -
search.list
方法支援下列新參數:-
channelType
參數可讓您限制搜尋頻道,以便擷取所有頻道或只擷取節目。 -
videoType
參數可讓你限制搜尋影片,以擷取所有影片或只擷取電影或節目劇集。
-
-
已更新
video
資源的recordingDetails
部分的定義,是為了注意,只有已設定影片的地理位置資料或錄製時間,才會傳回影片的物件。 -
playlistItems.update
方法現在會傳回invalidSnippet
錯誤,如果 API 要求未指定有效的程式碼片段,就會傳回該錯誤。 -
有些 API 方法支援 YouTube 內容合作夥伴專用的新參數。YouTube 內容合作夥伴包括電影和電視節目公司、唱片公司,以及其他在 YouTube 上發布內容的內容創作者。
-
onBehalfOfContentOwner
參數代表要求的授權憑證可識別 YouTube CMS 使用者,這些使用者皆代表參數值中指定的內容擁有者。使用者驗證的 CMS 帳戶必須連結至指定的 YouTube 內容擁有者。這個參數適用於擁有及管理許多不同 YouTube 頻道的內容合作夥伴。此參數讓這些合作夥伴只要驗證一次,便可存取其所有的影片和頻道資料,而不需要為每個頻道提供驗證憑證。
channels.list
、search.list
、videos.delete
、videos.list
和videos.update
方法都支援這個參數。 -
channels.list
方法支援的managedByMe
參數會指示 API 傳回onBehalfOfContentOwner
參數指定的內容擁有者擁有的所有頻道。 -
search.list
方法支援的forContentOwner
參數會指示 API 將搜尋結果限制為僅包含onBehalfOfContentOwner
參數指定的內容擁有者所擁有的資源。
-
2013 年 2 月 25 日
這次更新的修改如下:
-
這個 API 支援
video
資源多種新部分和屬性:-
新的
fileDetails
、processingDetails
與suggestions
部分會為影片擁有者提供有關他們上傳影片的資訊。對於啟用影片上傳功能的應用程式來說,這些資料非常實用,包括:- 處理狀態和進度
- 處理影片時發生的錯誤或其他問題
- 縮圖的供應情形
- 改善影片或中繼資料品質的建議
- 原始上傳至 YouTube 檔案的詳細資料
只有影片擁有者能擷取這些片段。以下清單簡要說明這些新部分,
video
資源說明文件則定義了每個部分包含的所有屬性。-
fileDetails
物件包含上傳至 YouTube 的影片檔案相關資訊,包括檔案的解析度、時間長度、音訊和視訊轉碼器、串流位元率等。 -
processingProgress
物件包含 YouTube 處理上傳影片檔案進度的資訊。物件的屬性可識別目前的處理狀態,並估算 YouTube 完成處理影片所需的時間。此部分也指出影片是否支援不同類型的資料或內容,例如檔案詳細資料或縮圖圖片。這個物件的用途是輪詢,讓影片上傳者可以追蹤 YouTube 處理上傳影片檔案的過程。
-
suggestions
物件包含建議,可找出改善影片畫質或上傳影片中繼資料的機會。
-
contentDetails
部分包含四個新屬性。系統可能會使用未經驗證的要求擷取這些屬性。dimension
:說明影片是否提供 2D 或 3D 模式。definition
:說明影片提供標準畫質或高畫質。caption
:說明影片是否提供字幕。licensedContent
:指出影片是否包含由 YouTube 內容合作夥伴聲明版權的內容。
-
status
部分包含兩個新屬性。影片擁有者在插入或更新影片時,可以同時設定這兩個屬性的值。也可透過未經驗證的要求擷取這些屬性。embeddable
:指出影片是否能嵌入其他網站。license
:指定影片授權。有效值為creativeCommon
和youtube
。
-
-
已更新
videos.list
、videos.insert
和videos.update
方法的part
參數定義,以便列出上述新增的部分,以及不慎省略的recordingDetails
部分。 -
channel
資源的新contentDetails.googlePlusUserId
屬性會指定與頻道相關聯的 Google+ 個人資料 ID。這個值可用於產生 Google+ 個人資料的連結。 -
現在,每個縮圖物件物件都會指定圖片的寬度和高度。縮圖圖片目前會在
activity
、channel
、playlist
、playlistItem
、search result
、subscription
和video
資源中傳回。 -
playlistItems.list
現在支援videoId
參數,您可以將這個參數與playlistId
參數搭配使用,只擷取代表指定影片的播放清單項目。如果播放清單中找不到該參數識別的影片,API 就會傳回
notFound
錯誤。 -
已移除
channel
資源的snippet.channelId
屬性。資源的id
屬性提供相同的值。
2013 年 1 月 30 日
這次更新的修改如下:
2013 年 1 月 16 日
這次更新的修改如下:
-
程式碼範例現在適用於下方清單顯示的方法和語言:
activities.insert
- JavaplaylistItems.insert
- PythonplaylistItems.list
- Java、JavaScript、PHP、Python、Rubyplaylists.insert
- Java、JavaScript、Pythonsearch.list
- Java、JavaScript、Python、Rubyvideos.insert
- Java
-
activity
資源現在可以回報channelItem
動作,當 YouTube 將影片新增至自動產生的 YouTube 頻道時,就會發生此動作。(YouTube 會透過演算法找出在 YouTube 網站上特別熱門的主題,並自動為這些主題產生頻道)。 -
下列
search.list
參數已更新:q
參數不再指定為篩選條件,也就是說 ....relatedToVideo
參數已重新命名為relatedToVideoId
。published
參數已替換為publishedAfter
和publishedBefore
這兩個新參數,詳情請見下方說明。
-
search.list
方法支援下列新參數:參數名稱 值 說明 channelId
string
傳回指定頻道建立的資源。 publishedAfter
datetime
傳回在指定時間之後建立的資源。 publishedBefore
datetime
傳回在指定時間之前建立的資源。 regionCode
string
傳回指定國家/地區的資源。 videoCategoryId
string
篩選影片搜尋結果,只顯示與指定影片類別相關聯的影片。 videoEmbeddable
string
篩選影片搜尋結果,只顯示可在網頁嵌入式播放器中播放的影片。將參數值設為 true
,即可只擷取內嵌影片。videoSyndicated
string
篩選影片搜尋結果,只納入可在 YouTube.com 以外播放的影片。將參數值設為 true
,即可只擷取聯合發布影片。 -
有些 API 資源支援新屬性。下表列出資源及其新屬性:
資源 屬性名稱 值 說明 activity
contentDetails.playlistItem.playlistItemId
string
YouTube 指派的播放清單項目 ID,用來識別播放清單中的項目。 activity
contentDetails.channelItem
object
這類物件包含新增至管道的資源相關資訊。這個屬性只有在 snippet.type
為channelItem
時才會顯示。activity
contentDetails.channelItem.resourceId
object
這個物件會指出新增至管道的資源。與其他 resourceId
屬性相同,其中含有kind
屬性,用於指定影片或播放清單等資源類型。同時也包含videoId
、playlistId
等數種屬性的其中之一,用來指定該資源的專屬識別 ID。channel
status
object
這個物件會封裝頻道的隱私權狀態資訊。 channel
status.privacyStatus
string
頻道的隱私設定。有效值為 private
和public
。playlist
contentDetails
object
這個物件包含播放清單內容的相關中繼資料。 playlist
contentDetails.itemCount
unsigned integer
播放清單中的影片數量。 playlist
player
object
這個物件包含您在嵌入式播放器中用來播放播放清單的資訊。 playlist
player.embedHtml
string
<iframe>
標記,用於嵌入播放播放清單的影片播放器。video
recordingDetails
object
這個物件會封裝資訊,用於識別或說明影片錄製地點和時間。 video
recordingDetails.location
object
這個物件包含與影片相關聯的地理位置資訊。 video
recordingDetails.location.latitude
double
緯度度數。 video
recordingDetails.location.longitude
double
經度度數。 video
recordingDetails.location.elevation
double
位於地球上方的海拔高度 (以公尺為單位)。 video
recordingDetails.locationDescription
string
影片錄製地點的文字說明。 video
recordingDetails.recordingDate
datetime
錄製影片的日期和時間。指定這個值時採用 ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
) 格式。 -
數個 API 方法的說明文件現在會指出必須在要求主體中指定,或是根據要求主體值進行更新的屬性。下表列出這些方法以及必要或可修改的屬性。
注意:其他方法的說明文件可能已經列出必要和可修改的屬性。
方法 屬性 activities.insert
必要屬性: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
必要屬性: id
playlistItems.update
必要屬性: id
videos.update
必要屬性: id
-
在嘗試建立或更新某個播放清單時,如果播放清單的標題與頻道上現有的播放清單相同,API 不會再回報
playlistAlreadyExists
錯誤。 -
部分 API 方法支援新的錯誤類型。下表列出該方法以及新支援的錯誤:
方法 錯誤類型 錯誤詳情 說明 guideCategories.list
notFound
notFound
找不到 id
參數指定的指南類別。請使用 guideCategories.list 方法擷取有效值的清單。playlistItems.delete
forbidden
playlistItemsNotAccessible
這項要求權限不足,無法刪除指定的播放清單項目。 videoCategories.list
notFound
videoCategoryNotFound
找不到 id
參數識別的影片類別。使用 videoCategories.list 方法,擷取有效值的清單。