本頁面列出 YouTube Data API (v3) 的變更和說明文件更新。訂閱這份變更記錄。
2025 年 7 月 10 日
自 2025 年 7 月 21 日起,YouTube 將調整 video.list 方法的 mostPopular 圖表傳回的內容。過去,mostPopular 圖表會反映「發燒影片」清單中的影片。現在,mostPopular 排行榜會顯示發燒音樂、電影和遊戲排行榜中的影片。這項 API 異動與 YouTube 發燒影片頁面的淘汰作業同步進行。
2025 年 3 月 26 日
2025 年 3 月 31 日起,YouTube 將變更 Shorts 觀看次數的計算方式。以往在 YouTube,一部 Shorts 的播放時間達特定秒數後,才計為一次觀看。現在觀看次數會採計 Shorts 開始播放或重播的次數,且不需達到最短觀看時間門檻。瞭解詳情
2025 年 3 月 31 日起,Data API 中的下列欄位會根據這項異動,傳回 Shorts 的觀看次數:
channels.statistics.viewCountvideos.statistics.viewCount
2024 年 10 月 30 日
API 現在支援辨識含有逼真變造或合成 (A/S) 內容的影片。進一步瞭解與 A/S 內容相關的 YouTube 政策。
A/S 內容示例包括:
- 呈現真實人物的言論與動作,但其實並非本人所為
- 變造真實事件或地點的影片片段
- 出現看似真實但從未發生的場景
如要指出影片是否含有 A/S 內容,請設定 status.containsSyntheticMedia 屬性。呼叫 videos.insert 或 videos.update 方法時,可以設定這項屬性。如果已設定,系統會在 video 資源中傳回該屬性。
2024 年 4 月 30 日
注意:這是淘汰公告。
這次更新的修改如下:
API 不再支援插入或擷取頻道討論內容。這項異動與 YouTube 網站支援的功能一致,因為 YouTube 網站不支援在頻道中發布留言。
2024 年 3 月 13 日
注意:這是淘汰公告。
這次更新的修改如下:
captions.insert 和 captions.update 方法的 sync 參數已淘汰。YouTube 將於 2024 年 4 月 12 日停止支援
參數。
這項異動生效後,開發人員插入或更新字幕軌時,必須加入時間資訊,否則上傳作業會失敗。
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 日
由於系統不會透過 API 呼叫傳回 videoId 資源,因此已移除 Comments 下的所有 videoId 資源參照。
2023 年 9 月 12 日
注意:這是淘汰公告。
comments.markAsSpam 方法已淘汰多年。YouTube 已不再支援這個方法,API 也不再支援。
所有參照 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 將於 2023 年 8 月 7 日停止支援
參數。
目前,淘汰通知已新增至 search.list 方法的說明文件。這項參數將於 2023 年 8 月 7 日當天或之後,從 search.list 文件中全面移除。
此外,API 實作指南中已移除示範如何擷取相關影片的範例。
2022 年 8 月 22 日
將 video.statistics 欄位的型別註解從不帶正負號的 long 改為字串。
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 日起,YouTube 將停止支援舊的字幕軌 ID。屆時,如果使用舊的字幕軌 ID 呼叫任何這些 API 方法,就會發生 captionNotFound 錯誤。
為因應這項異動,請規劃在 2022 年 12 月 1 日前,全面替換所有儲存的字幕軌資料。也就是說,如果影片儲存了字幕軌資料,您應刪除目前儲存的資料,然後呼叫 captions.list 方法,擷取影片目前的字幕軌集,並照常將資料儲存在 API 回應中。
2022 年 7 月 12 日
YouTube API 服務條款已更新。詳情請參閱《YouTube API 服務條款 - 修訂記錄》。
2022 年 4 月 27 日
videos.insert 方法說明已更新,指出上傳影片的檔案大小上限已從 128 GB 增加至 256 GB。
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 端點的 API 回應才會包含這項屬性。
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 也不再支援這些功能。brandingSettings.channel.defaultTabbrandingSettings.channel.featuredChannelsTitlebrandingSettings.channel.featuredChannelsUrls[]brandingSettings.channel.profileColorbrandingSettings.channel.showBrowseViewbrandingSettings.channel.showRelatedChannels
所有屬性都已從
channel資源表示法中移除,且定義也已從資源的屬性清單中移除。此外,方法專屬說明文件也移除了與這些屬性相關的錯誤。 -
下列
channelSection資源屬性已淘汰。YouTube 工作室使用者介面和 YouTube 均已不再支援這些屬性。因此,API 也不再支援這些功能。snippet.stylesnippet.defaultLanguagesnippet.localized.titlelocalizationslocalizations.(key)localizations.(key).titletargetingtargeting.languages[]targeting.regions[]targeting.countries[]
配合這項異動,
channelSection.list方法的hl參數也已淘汰,因為該參數支援的功能不受支援。所有屬性都已從
channelSection資源表示法中移除,且定義也已從資源的屬性清單中移除。此外,方法專屬說明文件也移除了與這些屬性相關的錯誤。 -
下列值已淘汰,請勿用於
channelSection資源的snippet.type屬性。YouTube 頻道頁面已不再支援這些值,因此 API 也不再支援。likedPlaylistslikespostedPlaylistspostedVideosrecentActivityrecentPosts
-
playlist資源的snippet.tags[]屬性已淘汰,這項資源已不再支援 YouTube,因此 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錯誤。當要求嘗試對特定播放清單執行不允許的操作時,就會發生這項錯誤。舉例來說,使用者無法從上傳影片播放清單中刪除影片,也無法刪除播放清單。無論是哪種情況,這個錯誤都會傳回
400HTTP 回應碼 (要求無效)。 -
說明文件已移除
playlistItems.list方法的watchHistoryNotAccessible和watchLaterNotAccessible錯誤。雖然使用者確實無法透過 API 存取觀看記錄和稍後觀看清單,但 API 不會傳回這些特定錯誤。
2020 年 10 月 15 日
開發人員政策新增了兩個章節:
- 新的第 III.E.4.i 節提供更多資訊,說明透過 YouTube 嵌入式播放器收集及傳送的資料。使用者與 YouTube 嵌入式播放器互動,表明播放意圖前,您透過任何 YouTube 嵌入式播放器傳送給我們的使用者資料,都由您負責。您可以將自動播放設為 false,限制使用者與播放器互動前與 YouTube 分享的資料。
- 新的第 III.E.4.j 節與在網站和應用程式中嵌入內容前,檢查內容的「為兒童打造」狀態有關。您有責任瞭解 API 用戶端中嵌入的影片是否為兒童專屬,並據此處理從嵌入式播放器收集的資料。因此,您必須先使用 YouTube Data API 服務檢查內容狀態,再透過任何 YouTube 嵌入式播放器,將內容嵌入 API 用戶端。
新的「找出影片的『兒童專屬』狀態」指南說明如何使用 YouTube Data API 服務,查詢影片的兒童專屬狀態。
配合這些異動,我們在嵌入式播放器參數說明文件中新增了提醒,說明如果啟用自動播放功能,播放作業會在使用者未與播放器互動的情況下進行,因此系統會在網頁載入時收集及分享播放資料。
2020 年 10 月 8 日
這項更新涵蓋與 channel 資源相關的三項小變更:
snippet.thumbnails物件會識別頻道的縮圖,但新建立的頻道可能沒有縮圖,最多需要一天才能填入。- 即使是擁有者,
statistics.videoCount屬性也只會反映頻道的公開影片數量。這項行為與 YouTube 網站上顯示的計數一致。 - 如果管道關鍵字 (在
brandingSettings.channel.keywords屬性中識別) 超過 500 個字元的長度上限,或含有未逸出的引號 ("),可能會遭到截斷。請注意,500 個字元的限制並非每個關鍵字的限制,而是所有關鍵字總長度的限制。這與 YouTube 網站的行為一致。
2020 年 9 月 9 日
注意:這是淘汰公告。
這項更新涵蓋下列 API 變更。所有異動將於 2020 年 9 月 9 日 (即本公告發布日) 當天或之後生效。因此,開發人員不應再依賴下列任何 API 功能。
-
下列 API 資源、方法、參數和資源屬性將立即淘汰,並於本公告發布當天或之後停止運作:
- 下列
channel資源 屬性:statistics.commentCount屬性brandingSettings.image物件及其所有子項屬性brandingSettings.hints清單及其所有子資源
channels.list方法的categoryId篩選器參數guideCategories資源和guideCategories.list方法
- 下列
-
如果 API 要求將
managedByMe參數設為true,則channels.list方法的 API 回應就不會再包含prevPageToken屬性。這項異動不會影響其他channels.list要求的prevPageToken屬性,也不會影響任何要求的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 Console 中看到的配額,將可支援更多作業。
我們強烈建議所有開發人員為專案完成法規遵循稽核,確保能繼續存取 YouTube API 服務。
這項修訂記錄項目最初發布於 2020 年 7 月 20 日。
2020 年 7 月 28 日
凡是透過 videos.insert 端點上傳的影片,如果 API 專案是在 2020 年 7 月 28 日後建立且未經驗證,就會限制為私人觀看模式。如要解除這項限制,每個專案都必須接受稽核,以驗證是否符合《服務條款》。
如果創作者使用未經驗證的 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 開發人員政策」指南提供指引和範例,協助您確保 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 方法將停止回傳頻道公告。這些異動將於 2020 年 5 月 18 日當天或之後在 API 中生效。詳情請參閱 YouTube 說明中心。
2020 年 3 月 31 日
這次更新的修改如下:
-
新資源和方法
-
新的
member資源代表 YouTube 頻道的頻道會員。會員定期提供金錢支援給創作者,並獲得特別福利。舉例來說,創作者為聊天室啟用會員專屬模式時,只有會員才能傳送訊息。這個資源會取代
sponsor資源,後者是 YouTube Live Streaming API 的一部分。sponsor資源已淘汰,API 用戶端應更新對sponsors.list方法的呼叫,改用members.list方法。 -
新的
membershipsLevel資源會識別授權 API 要求的創作者所管理的價格等級。membershipsLevels.list方法會擷取創作者的所有會員等級清單。
-
2020 年 1 月 10 日
API 現在支援識別兒童導向內容,YouTube 稱之為「兒童專屬」。如要進一步瞭解「為兒童打造」的內容,請前往 YouTube 說明中心。
channel 和 video 資源支援兩項新屬性,方便內容創作者和觀眾識別為兒童打造的內容:
-
內容創作者可透過
selfDeclaredMadeForKids屬性,指定頻道或影片是否為兒童專屬。
如果是管道,呼叫channels.update方法時可以設定這個屬性。如果是影片,呼叫videos.insert或videos.update方法時,可以設定這項屬性。
請注意,只有在頻道擁有者授權 API 要求時,API 回應才會包含channel或video資源的這項屬性。 -
madeForKids屬性可讓任何使用者擷取頻道或影片的「兒童專屬」狀態。舉例來說,狀態可能是根據selfDeclaredMadeForKids屬性的值判斷。如要進一步瞭解如何設定頻道、影片或直播的目標觀眾,請參閱 YouTube 說明中心。
我們也更新了《YouTube API 服務條款》和《開發人員政策》。詳情請參閱《YouTube API 服務條款 - 修訂記錄》。YouTube API 服務條款和開發人員政策的異動將於 2020 年 1 月 10 日 (太平洋時間) 生效。
2019 年 9 月 10 日
我們已更新 API 參考說明文件,反映 YouTube 訂閱人數的計算方式異動,以及 API 回應的相應變更。這項異動生效後,如果訂閱人數超過 1,000 人,YouTube Data API 服務傳回的訂閱人數會向下取整至三位有效數字。這項異動會影響 channel 資源的 statistics.subscriberCount 屬性。
注意:即使使用者傳送授權要求,索取自己頻道的資料,這項異動仍會影響這項屬性值。頻道擁有者仍可在 YouTube 工作室中查看確切的訂閱人數。
舉例來說,如果頻道有 123,456 位訂閱者,statistics.subscriberCount 屬性就會包含 123000 值。下表列出 API 回應中訂閱人數的四捨五入方式,以及其他公開顯示的 YouTube 使用者介面中訂閱人數的縮寫方式:
| 訂閱人數範例 | YouTube Data API | 公開顯示的 YouTube 使用者介面 |
|---|---|---|
| 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 參考文件,更清楚說明各個方法的常見用途,並透過 API Explorer 小工具提供動態的高品質程式碼範例。如需範例,請參閱
channels.list方法的說明文件。描述 API 方法的頁面現在有兩個新元素:-
您可以使用 APIs Explorer 小工具選取授權範圍、輸入範例參數和屬性值,然後傳送實際的 API 要求並查看實際的 API 回應。這個小工具也提供全螢幕檢視畫面,顯示完整的程式碼範例,並動態更新以使用您輸入的範圍和值。
-
「常見用途」一節說明頁面所列方法的常見用途。舉例來說,您可以呼叫
channels.list方法,擷取特定頻道或目前使用者頻道相關資料。您可以使用該部分的連結,在 API Explorer 中填入您用途的範例值,或開啟已填入這些值的全螢幕 API Explorer。我們進行這些變更的目的是要方便您查看程式碼範例,直接套用至您要在自家應用程式中導入的用途。
目前支援 Java、JavaScript、PHP、Python 和 curl 的程式碼範例。
-
-
程式碼範例工具也已更新,採用全新使用者介面,提供上述所有功能。您可以使用這項工具探索不同方法的用途、將值載入 API Explorer,以及開啟全螢幕 API Explorer,取得 Java、JavaScript、PHP 和 Python 的程式碼範例。
配合這項異動,我們已移除先前列出 Java、JavaScript、PHP 和 Python 適用程式碼範例的網頁。
-
Java、JavaScript、PHP 和 Python 的快速入門導覽課程已更新。修訂版指南說明如何使用 APIs Explorer 中的程式碼範例,分別以 API 金鑰和 OAuth 2.0 用戶端 ID 執行一個範例。
請注意,上述變更會取代 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 日
我們已更新實作指南 (舊稱「實作與遷移指南」),移除從 v2 API 遷移至 v3 API 的操作說明。此外,我們也移除了 v3 API 中已淘汰功能的相關操作說明,例如喜愛的影片。
2017 年 11 月 27 日
這次更新的修改如下:
-
注意:這是淘汰公告。
YouTube 即將移除「精選影片」和「精選網站」功能,這兩項功能在 API 中是透過
channel資源的invideoPromotion物件支援。因此,該物件 (包括所有子項屬性) 將遭到淘汰。在 2017 年 12 月 14 日前,您仍可擷取及設定
invideoPromotion資料。付款週期結束後:- 呼叫
channels.list時,嘗試擷取invideoPromotion部分會傳回空白的invideoPromotion,或完全不會傳回任何invideoPromotion資料。 - 在 2018 年 5 月 27 日前,呼叫
channels.update時嘗試更新invideoPromotion資料會傳回成功的回應,但系統會將這些要求視為無作業,也就是不會實際執行更新。
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 已更新品牌標誌和圖示。您可以從品牌宣傳指南頁面下載新的「developed with YouTube」標誌。該頁面也顯示其他新的 YouTube 標誌和圖示,可從 YouTube 品牌網站下載。
2017 年 7 月 24 日
這次更新的修改如下:
- 我們為 iOS 推出全新的 YouTube Data API 快速入門指南。本指南說明如何在以 Objective-C 或 Swift 編寫的簡單 iOS 應用程式中使用 YouTube Data API。
- YouTube Data API 的互動式程式碼片段工具現在提供說明文件,介紹工具的部分功能:
- 執行 API 要求
- 在程式碼片段和完整程式碼範例之間切換
- 使用樣板函式
- 載入現有資源 (適用於更新方法)
注意:API 方法的 API 參考說明文件 (範例) 也內嵌了這項工具。
2017 年 6 月 1 日
這次更新的修改如下:
-
注意:這是淘汰公告。
下列
video資源屬性即將淘汰。雖然系統會支援這些屬性到 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)。
請注意,在可使用這項工具的頁面中,這項工具已取代 API Explorer。(每個頁面都會顯示連結,方便您在 API Explorer 中載入正在處理的要求)。
-
-
資料 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[]屬性包含維基百科網址清單,說明頻道內容。這些網址對應於資源topicDetails.topicIds[]屬性中傳回的主題 ID。playlistItem資源的新contentDetails.videoPublishedAt屬性會指出影片發布到 YouTube 的時間。資源已包含snippet.publishedAt屬性,可識別項目新增至播放清單的時間。- 與
channel資源類似,video資源現在會傳回topicDetails.topicCategories[]屬性,其中包含說明影片內容的維基百科網址清單。如果是video資源,網址會對應至資源topicDetails.relevantTopicIds[]屬性中傳回的主題 ID。 video資源的新contentDetails.contentRating.mpaatRating屬性會指出美國電影協會對電影預告或預覽片段的分級。
2017 年 2 月 27 日
如2016 年 8 月 11 日的公告所述,YouTube 已將支援的主題 ID 清單改為精選清單。支援的主題 ID 完整清單會納入 channel 和 video 資源的 topicDetails 屬性,以及 search.list 方法的 topicId 參數。
請注意,精選清單有幾項變更:
- 下列主題已新增為「
Society」的子主題:名稱 主題 ID 公司行號 /m/09s1f健康 /m/0kt51軍事 /m/01h6rj政治 /m/05qt0宗教 /m/06bvp - 先前是
Entertainment子項的Animated cartoon主題已移除。 - 先前是
Music子項的Children's music主題已移除。
這項異動生效後,與影片相關的主題一律會以 video 資源的 topicDetails.relevantTopicIds[] 屬性值傳回。
2016 年 11 月 29 日
這次更新的修改如下:
-
自 2017 年 2 月 10 日起,支援的主題 ID 清單將有三項小變更:
Professional wrestling類別先前是Sports類別的子項,現在則是Entertainment的子項。TV shows類別是Entertainment的子項,屬於新類別。- 先前屬於
Lifestyle子項的Health類別已移除。
請注意,有幾個父類別 (
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 參數和屬性的定義,列出異動後支援的主題 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 主題搜尋」指南。該指南提供程式碼範例,說明應用程式如何搭配 Freebase API 運作。
此外,主題 ID 相關的程式碼範例已從
search.list方法的說明文件中移除。
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)homeParameterDeprecatedactivities.list方法會傳回這項錯誤,表示使用者首頁活動資料無法透過這個 API 取得。如果您在未經授權的要求中將home參數設為true,就可能發生這個錯誤。invalidValue (400)invalidContentDetailsplaylistItems.insert方法會傳回這項錯誤,表示要求中的contentDetails物件無效。發生這項錯誤的原因之一是contentDetails.note欄位超過 280 個字元。forbidden (403)watchHistoryNotAccessibleplaylistItems.list方法會傳回這項錯誤,表示要求嘗試擷取「觀看記錄」播放清單項目,但無法使用 API 擷取這些項目。forbidden (403)watchLaterNotAccessibleplaylistItems.list方法會傳回這項錯誤,表示要求嘗試擷取「稍後觀看」播放清單項目,但無法使用 API 擷取這些項目。badRequest (400)uploadLimitExceededvideos.insert方法會傳回這項錯誤,表示頻道上傳的影片數量已超過上限。forbidden (403)forbiddenEmbedSettingvideos.update方法會傳回這項錯誤,表示 API 要求嘗試為影片設定無效的嵌入設定。請注意,部分頻道可能沒有權限提供直播的嵌入式播放器。詳情請參閱 YouTube 說明中心。 -
如果您將重複的影片插入播放清單,
playlistItems.insert方法不再傳回錯誤。先前,部分不允許重複內容的播放清單 (例如「我的最愛影片」) 會發生這項錯誤,但系統已不再支援這類播放清單。一般來說,播放清單允許重複的影片。
-
-
其他更新
-
2016 年 9 月 15 日的修訂記錄項目已更新,清楚說明每當回應中包含
channel資源的contentDetails.relatedPlaylists.watchHistory和contentDetails.relatedPlaylists.watchLater屬性時,這些屬性一律會分別包含HL和WL值。此外,只有在獲得授權的使用者擷取自己頻道的資料時,系統才會納入這些屬性。
-
2016 年 9 月 15 日
這次更新的修改如下:
-
2016 年 8 月 11 日的修訂記錄更新說明瞭與主題 ID 相關的幾項變更,包括自 2017 年 2 月 10 日起,支援的主題 ID 組合將有所變動。我們將在 2016 年 11 月 10 日前公布支援的主題清單。
-
以下異動現已生效。我們已在 2016 年 8 月 11 日的修訂記錄更新中,通知您這些異動:
-
如果呼叫
activities.list方法時,home參數設為true,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 搜尋結果,API 會傳回空白結果集。
-
自 2016 年 9 月 12 日起,下列 API 欄位和參數將遭到淘汰:
-
授權使用者可透過
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) 也會傳回空白清單。新值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參數。該參數不會依特定順序傳回訂閱者,也不會限制可擷取的訂閱者人數。 -
snippet.thumbnails.(key)資源的 activity、playlistItem、playlist、search result、thumbnail 和 video 屬性定義已更新,指出部分影片提供其他縮圖圖片大小。standard圖片的寬度為 640 像素,高度為 480 像素。maxres圖片的寬度為 1280 像素,高度為 720 像素。
-
channelSection.list方法的part參數定義已更新,指出擷取targeting部分的費用為2配額單位。 -
現在,如果授權不當的要求嘗試擷取
video資源的fileDetails、processingDetails或suggestions部分,videos.list方法會傳回 forbidden (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 淘汰政策規範。 -
ineligibleAccount錯誤的定義已更新,這個錯誤可能會由comments.insert、comments.update、commentThreads.insert或commentThreads.update方法傳回。更新後的定義指出,如果用來授權 API 要求的 YouTube 帳戶尚未與使用者的 Google 帳戶合併,就會發生這個錯誤。
2016 年 4 月 20 日
這次更新的修改如下:
-
channels.update方法的part參數定義已更新,指出localizations也是該參數的有效值。
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屬性會識別土耳其文化和觀光部評估與分級委員會的影片分級。此外,其他評分系統的 API 屬性支援下列新屬性值:
contentDetails.contentRating.fpbRating(南非)
評分:10;屬性值:fpb10contentDetails.contentRating.moctwRating(臺灣)
分級:R-12;屬性值:moctwR12contentDetails.contentRating.moctwRating(臺灣)
分級:R-15;屬性值:moctwR15
-
video資源的liveStreamingDetails.activeLiveChatId屬性包含與影片相關聯的有效 Live 對話 ID。只有在影片為啟用聊天室的直播時,才會顯示這項屬性值。廣播結束且聊天室關閉後,系統就不會再傳回影片的屬性。 -
video資源的status.rejectionReason屬性支援新的屬性值legal。
-
-
這個 API 支援下列新錯誤:
錯誤類型 錯誤詳細資料 說明 badRequest (400)notEditablechannelSections.insert、channelSections.update和channelSections.delete方法會傳回這項錯誤,表示無法建立、更新或刪除指定的頻道專區。badRequest (400)styleRequiredchannelSections.insert和channelSections.update方法會傳回這項錯誤,表示在 API 要求中提交的channelSection資源必須為snippet.style屬性指定值。badRequest (400)typeRequiredchannelSections.insert和channelSections.update方法會傳回這項錯誤,表示在 API 要求中提交的channelSection資源必須為snippet.type屬性指定值。badRequest (400)processingFailurecommentThreads.list方法會傳回這項錯誤,表示 API 伺服器無法成功處理要求。這可能是暫時性錯誤,但通常表示要求輸入內容無效。檢查要求主體中的commentThread資源結構,確保結構有效。forbidden (403)commentsDisabledcommentThreads.list方法會傳回這項錯誤,表示videoId參數所識別的影片已停用留言功能。badRequest (400)commentTextTooLongcommentThreads.insert方法會傳回這項錯誤,表示要插入的comment資源的snippet.topLevelComment.snippet.textOriginal屬性包含過多字元。invalidValue (400)videoAlreadyInAnotherSeriesPlaylistplaylistItems.insert方法會傳回這項錯誤,表示您嘗試新增至播放清單的影片已在其他系列播放清單中。如要進一步瞭解連續劇播放清單,請參閱 YouTube 說明中心。badRequest (400)subscriptionForbiddensubscriptions.insert方法會傳回這項錯誤,表示你已達到訂閱數量上限,或是最近建立的訂閱項目過多。如果是後者,請過幾小時再重試要求。badRequest (400)invalidCategoryIdvideos.update方法會傳回這項錯誤,表示上傳的video資源中的snippet.categoryId屬性指定了無效的類別 ID。使用videoCategories.list方法擷取支援的類別。badRequest (400)invalidDescriptionvideos.update方法會傳回這項錯誤,表示上傳的video資源中,snippet.description屬性指定的值無效。badRequest (400)invalidPublishAtvideos.update方法會傳回這項錯誤,表示上傳的video資源中的status.publishAt屬性指定了無效的排定發布時間。badRequest (400)invalidRecordingDetailsvideos.update方法會傳回這項錯誤,表示上傳的video資源中的recordingDetails物件指定了無效的錄製詳細資料。badRequest (400)invalidTagsvideos.update方法會傳回這項錯誤,表示上傳的video資源中,snippet.tags屬性指定的值無效。badRequest (400)invalidTitlevideos.update方法會傳回這項錯誤,表示上傳的video資源中的snippet.title屬性指定了無效或空白的影片標題。badRequest (400)invalidVideoMetadatavideos.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 支援兩種方式,可擷取資源的本地化值:
-
在
channels.list、channelSections.list、playlists.list或videos.list要求中加入hl參數,即可擷取特定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 classification cinematographique) 的影片分級。這個屬性會取代現已淘汰的contentDetails.contentRating.fmocRating屬性。 -
channel資源的brandingSettings.channel.keywords定義已更新,可正確反映屬性值包含以空格分隔的字串清單,而非先前文件所述的以半形逗號分隔的清單。這項更新不會影響 API 行為。 -
thumbnails.set方法的說明文件已更新,可準確反映要求主體包含您上傳並與影片建立關聯的縮圖圖片。要求主體未包含thumbnail資源。先前的文件指出,呼叫這個方法時不應提供要求主體。這項更新不會影響 API 行為。 -
activity資源的說明已更新,反映activities.list方法目前不包含與新影片留言相關的資源。資源的snippet.type和contentDetails.comment也已更新。
-
-
新增和更新錯誤
-
這個 API 現在支援下列錯誤:
錯誤詳細資料 activities.insertHTTP 回應代碼 badRequest (400)原因 invalidMetadata說明 kind屬性與提供的 ID 類型不符。commentThreads.updatecomments.insertcomments.updateHTTP 回應代碼 badRequest (400)原因 commentTextTooLong說明 要插入或更新的 comment資源中,snippet.topLevelComment.snippet.textOriginal屬性的字元過多。playlistItems.insertplaylistItems.updateHTTP 回應代碼 forbidden (403)原因 playlistItemsNotAccessible說明 要求未獲得適當授權,無法插入、更新或刪除指定的播放清單項目。 playlists.deleteplaylists.insertplaylists.updateHTTP 回應代碼 badRequest (400)原因 playlistForbidden說明 這項作業遭到禁止,或要求未獲得適當授權。 search.listHTTP 回應代碼 badRequest (400)原因 invalidLocation說明 location和/或locationRadius參數值格式有誤。search.listHTTP 回應代碼 badRequest (400)原因 invalidRelevanceLanguage說明 relevanceLanguage參數值格式有誤。subscriptions.insertHTTP 回應代碼 badRequest (400)原因 subscriptionForbidden說明 如果符合下列任一條件,就會發生這項錯誤: - 您嘗試建立的訂閱項目已存在
- 你訂閱的項目數量已達上限
- 你嘗試訂閱自己的頻道,但系統不支援這項操作。
- 你最近建立的訂閱項目過多,請稍後再重試要求。
videos.updateHTTP 回應代碼 badRequest (400)原因 invalidDefaultBroadcastPrivacySetting說明 要求嘗試為預設廣播設定無效的隱私權設定。
-
2015 年 8 月 28 日
這次更新的修改如下:
-
現有資源和方法的更新
-
video資源的statistics.favoriteCount屬性已淘汰。根據淘汰政策,這項屬性在公告發布後,至少一年內仍會包含在
video資源中。不過,屬性值現在一律會設為0。
-
2015 年 8 月 7 日
這次更新的修改如下:
-
現有資源和方法的更新
-
video資源的snippet.tags[]屬性定義已更新,提供更多資訊,說明 API 伺服器如何計算屬性值的長度。請注意,這項更新並未反映 API 行為的變更。具體來說,現在的定義說明,如果標記含有空格,API 伺服器會將標記值視為以引號括住,而引號會計入字元限制。因此,就字元限制而言,標記 Foo-Baz 包含七個字元,但標記 Foo Baz 包含九個字元。
-
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.rateHTTP 回應代碼 badRequest (400)原因 emailNotVerified說明 使用者必須先驗證電子郵件地址,才能為影片評分。 videos.rateHTTP 回應代碼 badRequest (400)原因 videoPurchaseRequired說明 只有租借影片的使用者可以評分。 -
subscriptions.delete和subscriptions.insert方法不再支援accountClosed和accountSuspended錯誤。
-
2015 年 4 月 27 日
這次更新的修改如下:
-
新資源和方法
-
新的
videoAbuseReportReason資源包含影片因含有濫用內容而遭檢舉的原因。videoAbuseReportReasons.list方法可讓您擷取影片可能遭到檢舉的所有原因清單。 -
新的
videos.reportAbuse方法可實際檢舉含有濫用內容的影片。要求主體包含 JSON 物件,其中指定要檢舉的影片,以及影片含有濫用內容的原因。有效原因可透過上述videoAbuseReportReason.list方法取得。遷移指南也已更新,新增檢舉濫用影片的範例。這項異動完成後,v3 API 現在支援所有預計支援的 v2 API 功能。遷移指南也會說明這些功能。
-
-
現有資源和方法的更新
-
search.list方法的新forDeveloper篩選器參數會限制搜尋範圍,只擷取透過開發人員的應用程式或網站上傳的影片。forDeveloper參數可與選用搜尋參數 (例如q參數) 一併使用。這項功能會自動為上傳的每部影片加上專案編號,該編號與 Google Developers Console 中開發人員的應用程式相關聯。
如果後續的搜尋要求將
forDeveloper參數設為true,API 伺服器會使用要求的授權憑證來識別開發人員。因此,開發人員可以將結果限制為透過自家應用程式或網站上傳的影片,但無法限制為透過其他應用程式或網站上傳的影片。這項新功能提供的功能與 v2 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 日
這次更新的修改如下:
-
遷移指南已更新,說明如何遷移仍使用 v2 API 註解功能的应用程式。
本指南也列出 v2 API 不支援,但 v3 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- 刪除留言。
請注意,如2015 年 4 月 2 日的修訂記錄所述,API 的新
https://www.googleapis.com/auth/youtube.force-ssl範圍是呼叫comments.insert、comments.update、comments.markAsSpam、comments.setModerationStatus、comments.delete、commentThreads.insert和commentThreads.update方法的必要條件。 -
-
新的「訂閱推播通知」指南說明 API 如何透過 PubSubHubBub (適用於可透過網路存取資源的伺服器對伺服器發布/訂閱通訊協定) 支援推播通知。當頻道進行下列任何活動時,PubSubHubBub 回呼伺服器就會收到 Atom 動態消息通知:
- 上傳影片
- 更新影片標題
- 更新影片說明
-
遷移指南也已更新,說明現在支援推播通知。不過,由於 v2 API 支援許多 v3 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 的新功能」分頁,列出 v3 API 支援但 v2 API 不支援的功能。指南的其他分頁先前和現在都列有相同功能。舉例來說,說明如何更新頻道影片宣傳活動資料的新功能,也會列在「頻道 (設定檔)」分頁下方。
-
我們已更新 YouTube Data API (v3) 遷移指南,指出 v3 API 將支援下列 v2 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,則資源會對應至新的訂閱影片。請注意,我們無法保證回應中一定會包含特定數量的訂閱頻道新影片。 -
動態消息更新的推播通知:第 2 版 API 支援推播通知,可使用簡易更新通訊協定 (SUP) 或 PubSubHubbub 監控 YouTube 使用者的活動動態消息。系統會針對新頻道訂閱、影片評分、分享、加入我的最愛、留言或上傳等動作發送通知。
第 3 版 API 將支援使用 PubSubHubbub 通訊協定的推播通知,但通知內容僅限於影片上傳,以及影片標題或說明的更新。
-
頻道位置:v2 API 會使用
<yt:location>標記,找出使用者在頻道 YouTube 公開個人資料中輸入的位置。雖然部分開發人員會使用這個欄位將頻道與特定國家/地區建立關聯,但這個欄位的資料無法持續用於該目的。 -
設定或擷取開發人員標記:v2 API 支援在上傳影片時,將關鍵字或開發人員標記與影片建立關聯。YouTube 使用者不會看到開發人員標記,但影片擁有者可以擷取符合特定開發人員標記的影片。
v3 API 會提供類似的功能,但並非完全相同。具體來說,開發人員可以搜尋自家應用程式上傳的影片。這項功能會自動為上傳的每部影片加上專案編號,該編號與 Google Developers Console 中開發人員的應用程式相關聯。開發人員接著會使用相同的專案編號搜尋影片。
-
依發布日期、觀看次數或評分列出影片:在第 2 版 API 中,
orderby參數可讓您依位置、時間長度、發布日期、標題和其他值,排序播放清單中的影片。在 v3 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 等)。使用這些方法,您就能透過單一要求擷取多個資源的清單。
這些變更完成後,本指南會列出舊版 (v2) API 支援的所有功能,以及目前 API 版本 (v3) 中已淘汰的功能。
-
2015 年 3 月 4 日
這次更新的修改如下:
-
channelSections.delete和channelSections.update方法現在支援onBehalfOfContentOwner參數,其他多種方法已支援此參數。 -
下列屬性和子項屬性已淘汰:
brandingSettings.image.backgroundImageUrlbrandingSettings.image.largeBrandedBannerImageImapScriptbrandingSettings.image.largeBrandedBannerImageUrlbrandingSettings.image.smallBrandedBannerImageImapScriptbrandingSettings.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) 遷移指南已更新,說明如何使用 v3 版 API,透過 JavaScript 上傳影片。(詳情請參閱「上傳影片」一節)。這項功能與 v2 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方法現在支援下列錯誤:錯誤類型 錯誤詳細資料 說明 badRequestbannerAlbumFull頻道擁有者的 YouTube 頻道圖片相簿圖片過多。頻道擁有者應前往 http://photos.google.com,然後前往相簿頁面,從該相簿中移除部分圖片。
2014 年 9 月 12 日
這次更新的修改如下:
-
呼叫
search.list方法的配額費用已從 1 個單位變更為 2 個單位,此外還需支付指定資源部分的費用。
2014 年 8 月 13 日
這次更新的修改如下:
-
subscriptions.insert方法現在支援下列錯誤:錯誤類型 錯誤詳細資料 說明 badRequestsubscriptionLimitExceeded要求中識別的訂閱者已超過訂閱頻率上限。請過幾小時後再試一次。
2014 年 8 月 12 日
這次更新的修改如下:
-
我們發布了新指南「將應用程式遷移至 YouTube Data API (v3)」,說明如何使用 YouTube Data API (v3) 執行 YouTube Data API (v2) 提供的功能。舊版 API 已於 2014 年 3 月 4 日正式淘汰。本指南旨在協助您將仍使用 v2 API 的應用程式遷移至最新 API 版本。
2014 年 7 月 8 日
這次更新的修改如下:
-
playlists.insert方法現在支援下列錯誤:錯誤類型 錯誤詳細資料 說明 badRequestmaxPlaylistExceeded如果頻道已達允許的播放清單數量上限,就無法建立播放清單,並會顯示這則錯誤訊息。
2014 年 6 月 18 日
這次更新的修改如下:
-
每個 API 方法的說明都已更新,加入呼叫該方法所產生的配額費用。同樣地,我們也更新了
part參數的定義,指定 API 呼叫中可擷取各部分的配額費用。舉例來說,呼叫subscriptions.insert方法的配額費用約為 50 個單位。subscription資源也包含三個部分 (snippet、contentDetails和subscriberSnippet),每個部分的費用為兩個單位。請注意,配額費用可能會在未通知的情況下變更。
-
video資源現在支援 43 個新的內容分級制度,可識別影片從各國分級機構獲得的分級。新支援的分級制度來自阿根廷、奧地利、比利時、保加利亞、智利 (電視)、智利 (電影)、捷克、哥倫比亞、丹麥、埃及、愛沙尼亞、芬蘭、法國、希臘、香港、冰島、印尼、愛爾蘭、以色列、義大利、肯亞、拉脫維亞、盧森堡、馬來西亞、馬爾地夫、馬爾他、荷蘭、奈及利亞、挪威、秘魯、菲律賓、葡萄牙、羅馬尼亞、新加坡、斯洛伐克、南非、瑞典、瑞士、臺灣、泰國和委內瑞拉。
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屬性會指出影片從愛爾蘭電影分級審查辦公室獲得的分級。 -
watermark資源的position.cornerPosition屬性定義已更新,指出浮水印一律會顯示在播放器的右上角。 -
search.list方法的q參數定義已更新,指出查詢字詞可以使用布林 NOT (-) 運算子,排除與特定搜尋字詞相關聯的影片。值也可以使用布林 OR (|) 運算子,尋找與其中一個搜尋字詞相關聯的影片。 -
API 回應
search.list呼叫時傳回的pageInfo.totalResults屬性定義已更新,指出該值為近似值,可能不是確切值。此外,最大值為 1,000,000。您不應使用這個值建立分頁連結。請改用nextPageToken和prevPageToken屬性值,判斷是否要顯示分頁連結。 -
watermarks.set和watermarks.unset方法已更新,反映 API 會針對這些方法傳回 HTTP204回應代碼。
2014 年 5 月 2 日
這次更新的修改如下:
-
新的
i18nLanguage資源會識別 YouTube 網站支援的應用程式語言。應用程式語言也稱為使用者介面語言。YouTube 網站會根據 Google 帳戶設定、瀏覽器語言或 IP 位置,自動選取應用程式語言,使用者也可以從 YouTube 網站頁尾手動選取所需的 UI 語言。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,以及內容擁有者和頻道連結的日期和時間。請注意,這個新部分不受淘汰政策約束。 -
文件中現在列出下列屬性的支援字元長度上限:
資源 屬性 長度上限 channelinvideoPromotion.items[].customMessage40 個半形字元 videosnippet.title100 個字元 (或 50 個全形字元) videosnippet.description5000 個位元組 videosnippet.tags500 個半形字元,請注意,屬性值是清單,清單中項目之間的逗號會計入限制。 -
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)requiredTimingchannels.update方法必須為每個宣傳項目指定invideoPromotion.items[].timing物件。required (400)requiredWebsiteUrlchannels.update方法必須為每個宣傳項目指定invideoPromotion.items[].id.websiteUrl屬性。badRequest (400)invalidPublishAt如果要求中繼資料指定的排定發布時間無效, videos.insert方法就會傳回這項錯誤。
2014 年 3 月 4 日
這次更新的修改如下:
-
YouTube Data API v3 現在適用《YouTube API 服務條款》所述的廢止政策。請注意,適用淘汰政策的 API 清單特別排除部分 v3 API 功能,因此不受政策規範。
2013 年 12 月 5 日
這次更新的修改如下:
-
search.list方法的文件已更新,正確反映出提交搜尋要求時,您不需要為正好一個篩選器參數指定值。您可以為零個或一個篩選器參數設定值。 -
search.list方法的參數定義已更新,指出如果您也為下列任一參數指定值,就必須將type參數的值設為video:eventTypevideoCaptionvideoCategoryIdvideoDefinitionvideoDimensionvideoDurationvideoEmbeddablevideoLicensevideoSyndicatedvideoType
-
上傳的頻道橫幅圖片最小尺寸已縮減為 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(Go)channelBanners.insert(Python)channels.update(Python)playlistItems.list(Go)search.list(Go)thumbnails.set(Java)videos.insert(Go)
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方法時,將liveStreamingDetails納入part參數值。
請注意,我們已於 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屬性會指出義大利文化活動和旅遊部給予影片的分級。 -
這個 API 現在支援下列錯誤:
錯誤類型 錯誤詳細資料 說明 badRequestinvalidImage如果提供的圖片內容無效, thumbnails.set方法會傳回這項錯誤。forbiddenvideoRatingDisabled如果影片擁有者已停用影片評分功能, 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 方法中:錯誤類型 錯誤詳細資料 說明 forbiddeninsufficientPermissions與要求提供的 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方法示範的功能,因此我們也移除了playlistItems.insert方法的 Python 範例。 -
error documentation說明下列新的要求內容錯誤,這類錯誤可能會發生在支援mine要求參數的任何 API 方法中:錯誤類型 錯誤詳細資料 說明 badRequestinvalidMine如果經過驗證的使用者是 YouTube 合作夥伴,則無法在要求中使用 mine參數。您應移除mine參數、移除onBehalfOfContentOwner參數以驗證 YouTube 使用者身分,或提供onBehalfOfContentOwnerChannel參數 (如果呼叫的方法支援此參數),以合作夥伴的其中一個頻道身分執行動作。
2013 年 8 月 8 日
這次更新的修改如下:
-
「YouTube Data API 入門」指南的「配額用量」一節已更新,反映影片上傳的配額費用變更,從約 16000 個單位降至約 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」說明下列新錯誤:錯誤類型 錯誤詳細資料 說明 forbiddenaccountDelegationForbidden這項錯誤並非特定 API 方法所致,表示通過驗證的使用者無權代表指定的 Google 帳戶執行動作。 forbiddenauthenticatedUserAccountClosed這項錯誤並非特定 API 方法所致,這表示已驗證使用者的 YouTube 帳戶已關閉。如果使用者是代表其他 Google 帳戶採取行動,這項錯誤表示該帳戶已關閉。 forbiddenauthenticatedUserAccountSuspended這項錯誤並非特定 API 方法所致,這表示已通過驗證的使用者 YouTube 帳戶遭到停權。如果使用者是代表其他 Google 帳戶採取行動,這項錯誤表示該帳戶已遭停權。 forbiddenauthenticatedUserNotChannel這項錯誤並非特定 API 方法所致,這表示 API 伺服器無法識別與 API 要求相關聯的管道。如果要求已獲得授權並使用 onBehalfOfContentOwner參數,您也應設定onBehalfOfContentOwnerChannel參數。forbiddencmsUserAccountNotFound這項錯誤並非特定 API 方法所致,CMS 使用者不得代表指定內容擁有者採取行動。 notFoundcontentOwnerAccountNotFound這項錯誤並非特定 API 方法所致,找不到指定的內容擁有者帳戶。 badRequestinvalidPart這項錯誤並非特定 API 方法所致,要求的 part參數指定的部分無法同時寫入。badRequestvideoChartNotFound如果要求指定不支援或無法使用的影片排行榜, videos.list方法就會傳回這項錯誤。notFoundvideoNotFoundvideos.update方法會傳回這項錯誤,表示系統找不到您要更新的影片。檢查要求內文中的id屬性值是否正確。
2013 年 6 月 10 日
這次更新的修改如下:
-
您可以使用
channels.list方法的新forUsername參數,指定 YouTube 使用者名稱來擷取頻道資訊。 -
activities.list方法現在支援regionCode參數,可指示 API 傳回與指定國家/地區相關的結果。如果授權使用者先前的 YouTube 活動不足以產生活動動態消息,YouTube 就會使用這個值。 -
播放清單資源現在包含
snippet.tags屬性。只有在授權使用者擷取自己播放清單的資料時,系統才會傳回這項屬性。授權使用者也可以在呼叫playlists.insert或playlists.update方法時設定播放清單標記。 -
先前
channels.list和search.list方法支援的onBehalfOfContentOwner參數,現在也支援videos.insert、videos.update和videos.delete方法。請注意,在呼叫videos.insert方法時使用這個參數時,要求也必須指定新onBehalfOfContentOwnerChannel參數的值,以識別要將影片加入的頻道。頻道必須連結至onBehalfOfContentOwner參數指定的內容擁有者。這個參數表示要求授權憑證會識別 YouTube 內容管理系統使用者,該使用者代表參數值中指定的內容擁有者行事。使用者用來驗證的 CMS 帳戶必須連結至指定的 YouTube 內容擁有者。
這項參數適用於擁有及管理多個不同 YouTube 頻道的內容合作夥伴。合作夥伴只要驗證一次,即可存取所有影片和頻道資料,不必為每個頻道提供驗證憑證。
具體來說,就這個版本而言,內容合作夥伴現在可以透過參數,在合作夥伴擁有的任何 YouTube 頻道中插入、更新或刪除影片。
-
「
error documentation」說明下列新錯誤:錯誤類型 錯誤詳細資料 說明 forbiddeninsufficientCapabilities這項錯誤並非特定 API 方法所致,這表示呼叫 API 的 CMS 使用者沒有足夠權限,無法執行所要求的操作。這個錯誤與 onBehalfOfContentOwner參數的使用情形有關,多種 API 方法都支援這個參數。unauthorizedauthorizationRequired如果要求使用 home參數,但未獲得適當授權,activities.list方法就會傳回這項錯誤。 -
在
channels資源中,invideoPromotion.channelId屬性已移除,因為頻道 ID 已使用資源的id屬性指定。 -
新的「處理頻道 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要求中,將invideoPromotion納入part參數值。 -
您可以使用新的
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(紅寶石)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方法支援多種新錯誤,詳見下表:錯誤類型 錯誤詳細資料 說明 badRequestinvalidCategoryIdsnippet.categoryId屬性指定的類別 ID 無效。使用videoCategories.list方法擷取支援的類別。badRequestinvalidRecordingDetailsmetadata指定的錄音詳細資料無效。badRequestinvalidVideoGameRating要求中繼資料指定的電玩遊戲分級無效。 badRequestinvalidVideoMetadata要求中繼資料無效。 -
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 帳戶必須連結至指定的 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 日
這次更新的修改如下:
-
新的錯誤頁面列出 API 可能傳回的錯誤。這個頁面列出一般錯誤 (可能發生在多種不同的 API 方法中),以及特定方法專屬的錯誤。
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方法支援下列新參數:參數名稱 值 說明 channelIdstring傳回指定管道建立的資源。 publishedAfterdatetime傳回在指定時間後建立的資源。 publishedBeforedatetime傳回在指定時間前建立的資源。 regionCodestring傳回指定國家/地區的資源。 videoCategoryIdstring篩選影片搜尋結果,只顯示與指定影片類別相關聯的影片。 videoEmbeddablestring篩選影片搜尋結果,只顯示可在網頁內嵌播放器中播放的影片。將參數值設為 true,即可只擷取可嵌入的影片。videoSyndicatedstring篩選影片搜尋結果,只納入可在 YouTube.com 以外播放的影片。將參數值設為 true,即可只擷取聯合發布的影片。 -
多個 API 資源支援新屬性。下表列出資源及其新屬性:
資源 屬性名稱 值 說明 activitycontentDetails.playlistItem.playlistItemIdstringYouTube 指派的播放清單項目 ID,用來專屬識別播放清單中的項目。 activitycontentDetails.channelItemobject這個物件包含新增至頻道的資源相關資訊。只有在 snippet.type為channelItem時,才會顯示這個屬性。activitycontentDetails.channelItem.resourceIdobject這個物件會識別新增至頻道的資源。與其他 resourceId屬性一樣,這個屬性包含kind屬性,可指定資源類型,例如影片或播放清單。此外,其中也包含數個屬性 (videoId、playlistId等) 中的其中一個,用於指定可專門識別該資源的 ID。channelstatusobject這個物件會封裝頻道隱私權狀態的相關資訊。 channelstatus.privacyStatusstring頻道的隱私權狀態。有效值為 private和public。playlistcontentDetailsobject這個物件包含播放清單內容的中繼資料。 playlistcontentDetails.itemCountunsigned integer播放清單中的影片數量。 playlistplayerobject這個物件包含的資訊可用於在嵌入式播放器中播放播放清單。 playlistplayer.embedHtmlstring<iframe>標記,可嵌入播放清單的影片播放器。videorecordingDetailsobject這個物件會封裝資訊,用於識別或描述影片的錄製地點和時間。 videorecordingDetails.locationobject這個物件包含與影片相關聯的地理位置資訊。 videorecordingDetails.location.latitudedouble緯度度數。 videorecordingDetails.location.longitudedouble經度度數。 videorecordingDetails.location.elevationdouble高於地球的高度,單位為公尺。 videorecordingDetails.locationDescriptionstring影片錄製地點的文字說明。 videorecordingDetails.recordingDatedatetime影片錄製日期和時間。值以 ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ) 格式指定。 -
現在,多個 API 方法的說明文件會指出必須在要求內文中指定的屬性,或根據要求內文中的值更新的屬性。下表列出這些方法,以及必要或可修改的屬性。
注意:其他方法的說明文件可能已列出必要和可修改的屬性。
方法 屬性 activities.insert必要屬性: snippet.description
snippet.descriptioncontentDetails.bulletin.resourceId
playlists.update必要屬性: id
playlistItems.update必要屬性: id
videos.update必要屬性: id
-
如果您嘗試建立或更新播放清單,但該播放清單的標題與同一頻道中已有的播放清單相同,API 不會再回報
playlistAlreadyExists錯誤。 -
多種 API 方法支援新的錯誤類型。下表列出方法和新支援的錯誤:
方法 錯誤類型 錯誤詳細資料 說明 guideCategories.listnotFoundnotFound找不到 id參數所識別的指南類別。使用 guideCategories.list 方法擷取有效值清單。playlistItems.deleteforbiddenplaylistItemsNotAccessible要求未獲得適當授權,無法刪除指定的播放清單項目。 videoCategories.listnotFoundvideoCategoryNotFound找不到 id參數所識別的影片類別。如要擷取有效值的清單,請使用 videoCategories.list 方法。