API 現在支援將頻道或影片標示為「兒童專屬」。此外,
channel 和 video 資源現在也包含一項屬性,可識別該頻道或影片的「兒童專屬」狀態。《YouTube API 服務條款》和《開發人員政策》也已於 2020 年 1 月 10 日更新。詳情請參閱 YouTube Data API 服務和《YouTube API 服務條款》的修訂版本記錄。更新影片的中繼資料。
配額影響:呼叫這個方法會產生 50 個單位的配額費用。
常見用途
要求
HTTP 要求
PUT https://www.googleapis.com/youtube/v3/videos
授權
這項要求需要至少下列其中一個範圍的授權 (進一步瞭解驗證和授權)。
| 範圍 |
|---|
https://www.googleapis.com/auth/youtubepartner |
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
參數
下表列出這項查詢支援的參數。列出的所有參數都是查詢參數。
| 參數 | ||
|---|---|---|
| 必要參數 | ||
part |
string在此作業中, part 參數有兩個用途。這項作業會識別寫入作業將設定的屬性,以及 API 回應將包含的屬性。請注意,這個方法會覆寫參數值指定部分中所有可變動屬性的現有值。舉例來說,影片的隱私設定包含在 status 部分中。因此,如果您的要求是更新私人影片,且要求中的 part 參數值包含 status 部分,影片的隱私權設定就會更新為要求主體指定的任何值。如果要求主體未指定值,系統會移除現有的隱私權設定,並將影片還原為預設隱私權設定。此外,並非所有部分都包含可在插入或更新影片時設定的屬性。舉例來說, statistics 物件會封裝 YouTube 為影片計算的統計資料,且不包含可設定或修改的值。如果參數值指定的 part 不含可變動的值,該 part 仍會納入 API 回應。以下清單包含可納入參數值的 part 名稱:
|
|
| 選用參數 | ||
onBehalfOfContentOwner |
string這個參數只能用於授權要求。注意:這個參數僅供 YouTube 內容合作夥伴使用。 onBehalfOfContentOwner 參數表示要求授權憑證識別的 YouTube CMS 使用者,是代表參數值中指定的內容擁有者行事。這個參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要驗證一次,就能存取所有影片和頻道資料,不必為每個頻道提供驗證憑證。使用者用來驗證的實際 CMS 帳戶,必須連結至指定的 YouTube 內容擁有者。 |
|
要求主體
在要求主體中提供影片資源。該資源的相關資訊:
-
您必須為下列屬性指定值:
idsnippet.title:只有在要求更新video資源的snippet時,才需要這個屬性。snippet.categoryId:只有在要求更新video資源的snippet時,才需要這個屬性。
-
您可以為下列屬性設定值:
snippet.categoryIdsnippet.defaultLanguagesnippet.descriptionsnippet.tags[]snippet.titlestatus.embeddablestatus.licensestatus.privacyStatusstatus.publicStatsViewablestatus.publishAt:如果為這項屬性設定值,也必須將status.privacyStatus屬性設為private。只有在影片的隱私權狀態為private,且影片從未發布時,才能設定這項屬性。status.selfDeclaredMadeForKidsstatus.containsSyntheticMediarecordingDetails.recordingDatelocalizations.(key)localizations.(key).titlelocalizations.(key).description
提交更新要求時,如果未指定某個屬性的值,但該屬性已有值,系統會刪除該屬性的現有值。
回應
如果成功,這個方法會在回應主體中傳回 影片資源。
錯誤
下表列出 API 在呼叫這個方法時可能傳回的錯誤訊息。詳情請參閱錯誤訊息說明文件。
| 錯誤類型 | 錯誤詳情 | 說明 |
|---|---|---|
badRequest (400) |
defaultLanguageNotSet |
API 要求嘗試新增本地化影片詳細資料,但未指定影片詳細資料的預設語言。 |
badRequest (400) |
invalidCategoryId |
snippet.categoryId 屬性指定的類別 ID 無效。使用 videoCategories.list 方法擷取支援的類別。 |
badRequest (400) |
invalidDefaultBroadcastPrivacySetting |
要求嘗試為預設廣播設定無效的隱私權設定。 |
badRequest (400) |
invalidDescription |
要求中繼資料指定的影片說明無效。 |
badRequest (400) |
invalidPublishAt |
要求中繼資料指定的預定發布時間無效。 |
badRequest (400) |
invalidRecordingDetails |
要求中繼資料中的 recordingDetails 物件指定了無效的錄製詳細資料。 |
badRequest (400) |
invalidTags |
要求中繼資料指定了無效的影片關鍵字。 |
badRequest (400) |
invalidTitle |
要求中繼資料指定的影片標題無效或空白。 |
badRequest (400) |
invalidVideoMetadata |
要求中繼資料無效。 |
forbidden (403) |
forbidden |
|
forbidden (403) |
forbiddenEmbedSetting |
要求嘗試為影片設定無效的嵌入設定。請注意,部分頻道可能未獲授權,無法提供直播嵌入式播放器。詳情請參閱 YouTube 說明中心。 |
forbidden (403) |
forbiddenLicenseSetting |
要求嘗試為影片設定無效的授權。 |
forbidden (403) |
forbiddenPrivacySetting |
要求嘗試為影片設定無效的隱私權設定。 |
notFound (404) |
videoNotFound |
找不到您要更新的影片。請檢查要求主體中的 id 欄位值,確認是否正確。 |
試試看!
使用 APIs Explorer 呼叫這個 API,並查看 API 要求和回應。