Videos: update

這個 API 可讓你將頻道影片標示為「兒童專屬」。此外,channelvideo 資源現在也包含一項資源,可指明頻道或影片處於「兒童專屬」狀態。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 名稱:
  • contentDetails
  • fileDetails
  • id
  • liveStreamingDetails
  • localizations
  • 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
    • status.selfDeclaredMadeForKids
    • recordingDetails.locationDescription (已淘汰)
    • recordingDetails.location.latitude (已淘汰)
    • recordingDetails.location.longitude (已淘汰)
    • 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 要求和回應。