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 可識別寫入作業將設定的屬性,以及 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 要求和回應。