Videos: update

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 名稱:
  • brandPartner
  • contentDetails
  • fileDetails
  • id
  • liveStreamingDetails
  • localizations
  • paidProductPlacementDetails
  • player
  • processingDetails
  • recordingDetails
  • snippet
  • statistics
  • status
  • suggestions
  • topicDetails
選用參數
onBehalfOfContentOwner string
這個參數只能用於授權要求。注意:這個參數僅供 YouTube 內容合作夥伴使用。

onBehalfOfContentOwner 參數表示要求授權憑證識別的 YouTube CMS 使用者,是代表參數值中指定的內容擁有者行事。這個參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要驗證一次,就能存取所有影片和頻道資料,不必為每個頻道提供驗證憑證。使用者用來驗證的實際 CMS 帳戶,必須連結至指定的 YouTube 內容擁有者。

要求主體

在要求主體中提供影片資源。該資源的相關資訊:

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

    • id
    • snippet.title:只有在要求更新 video 資源的 snippet 時,才需要這個屬性。
    • snippet.categoryId:只有在要求更新 video 資源的 snippet 時,才需要這個屬性。
  • 您可以為下列屬性設定值:

    • snippet.categoryId
    • snippet.defaultLanguage
    • snippet.description
    • snippet.tags[]
    • snippet.title
    • status.embeddable
    • status.license
    • status.privacyStatus
    • status.publicStatsViewable
    • status.publishAt:如果為這項屬性設定值,也必須將 status.privacyStatus 屬性設為 private。只有在影片的隱私權狀態為 private,且影片從未發布時,才能設定這項屬性。
    • status.selfDeclaredMadeForKids
    • status.containsSyntheticMedia
    • recordingDetails.recordingDate
    • localizations.(key)
    • localizations.(key).title
    • localizations.(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 要求和回應。