Channels: update

這個 API 可讓你將頻道影片標示為「兒童專屬」。此外,channelvideo 資源現在也包含一項資源,可指明頻道或影片處於「兒童專屬」狀態。YouTube API 的《服務條款》和《開發人員政策》也已於 2020 年 1 月 10 日更新。詳情請參閱 YouTube Data API 服務和《YouTube API 服務條款》的修訂版本記錄。

更新頻道的中繼資料。請注意,這個方法目前僅支援更新 channel 資源的 brandingSettingsinvideoPromotionlocalizations 物件及其子項屬性。

配額影響:呼叫這個方法的配額費用為 50 個單位。

常見用途

要求

HTTP 要求

PUT https://www.googleapis.com/youtube/v3/channels

授權

這項要求需要至少下列其中一個範圍的授權 (進一步瞭解驗證和授權)。

範圍
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 目前僅允許將參數值設為 brandingSettingsinvideoPromotionlocalizations。(任何部分都不能一次更新)。

請注意,針對參數值指定部分的所有可變動屬性,這個方法會覆寫現有值。
選用參數
onBehalfOfContentOwner string
這個參數只能在正確的授權要求中使用。onBehalfOfContentOwner 參數表示經驗證的使用者,是代表參數值中指定的內容擁有者。這個參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要通過一次驗證,即可存取所有影片和頻道資料,不必分別提供各個頻道的驗證憑證。使用者用來驗證的實際 CMS 帳戶必須連結至指定的 YouTube 內容擁有者。

要求主體

在要求主體中提供頻道資源。針對該資源:

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

    • id

  • 您可以設定下列屬性的值:

    • brandingSettings.channel.country
    • brandingSettings.channel.description
    • brandingSettings.channel.defaultLanguage
    • brandingSettings.channel.keywords
    • brandingSettings.channel.trackingAnalyticsAccountId
    • brandingSettings.channel.unsubscribedTrailer
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description
    • status.selfDeclaredMadeForKids

    如果您要提交更新要求,而您的要求並未為已經擁有值的屬性值指定值,系統會刪除該資源的現有值。

回應

如果成功的話,這個方法會在回應主體中傳回管道資源

錯誤

下表列出 API 回應此方法時可能傳回的錯誤訊息。詳情請參閱錯誤訊息的說明文件。

錯誤類型 錯誤詳細資料 說明
badRequest (400) brandingValidationError brandingSettings 物件中的其中一個值驗證失敗。使用 channels.list 方法擷取頻道現有的設定,並按照 channels 資源說明文件中的指示更新屬性值。
badRequest (400) channelTitleUpdateForbidden 更新頻道的 brandingSettings part 時,您必須將 brandingSettings.channel.title 屬性值設為頻道目前的標題,或是省略這個屬性。如果您變更屬性值,API 會傳回錯誤。
badRequest (400) defaultLanguageNotSetError 務必設定 defaultLanguage,才能更新 localizations
badRequest (400) invalidBrandingOption 您指定的其中一項品牌宣傳設定不存在。請使用 channels.list 方法擷取有效值,並請務必按照 channels 資源說明文件中的規範更新值。
badRequest (400) invalidCustomMessage 要求中繼資料指定無效的自訂訊息。檢查要求傳送資源中的 invideoPromotion.items[].customMessage 屬性值。
badRequest (400) invalidDuration 要求中繼資料在 invideoPromotion 部分中指定了無效的時間長度。
badRequest (400) invalidDuration 要求中繼資料所指定的位置類型無效,以決定宣傳項目在影片播放器中的位置。檢查要求傳送資源中的 invideoPromotion.position.type 屬性值。
badRequest (400) invalidRecentlyUploadedBy 要求中繼資料指定的頻道 ID 無效。檢查要求傳送資源中的 invideoPromotion.items[].id.recentlyUploadedBy 屬性值。
badRequest (400) invalidTimingOffset 要求中繼資料在 invideoPromotion 部分中指定了無效的時間偏移值。
badRequest (400) invalidTimingOffset 要求中繼資料指定了無效的時間偏移,以判斷宣傳項目何時應顯示在影片播放器中。檢查要求傳送資源中的 invideoPromotion.timing.offsetMs 屬性值。
badRequest (400) invalidTimingType 要求中繼資料所指定的時間方法無效,以判斷宣傳項目何時應顯示在影片播放器中。檢查要求傳送資源中的 invideoPromotion.timing.type 屬性值。
badRequest (400) localizationValidationError 本地化物件中的其中一個值驗證失敗。使用 channels.list 方法擷取有效值,並務必按照管道資源說明文件中的規範更新值。
badRequest (400) tooManyPromotedItems 影片內促銷部分允許的宣傳商品數量超過上限。
forbidden (403) channelForbidden id 參數中指定的頻道不支援該要求,或是要求未獲適當授權。
forbidden (403) promotedVideoNotAllowed 找不到嘗試更新 API 要求的管道。檢查送出要求的 channel 資源中的 id 屬性值,確認頻道 ID 正確無誤。
forbidden (403) websiteLinkNotAllowed 不允許指定的網站網址。
notFound (404) channelNotFound 找不到 id 參數中指定的頻道。
notFound (404) channelNotFound 找不到 id 參數指定的頻道,或是沒有品牌宣傳選項。
notFound (404) unknownChannelId 找不到指定的頻道 ID。
notFound (404) unknownChannelId 找不到指定的 lastUploadedBy 頻道 ID。
notFound (404) unknownVideoId 找不到宣傳項目指定的影片 ID
required (400) requiredItemIdType 要求中繼資料必須在 invideoPromotion 部分中指定項目類型。
required (400) requiredItemId 要求中繼資料必須指定 invideoPromotion 部分的項目 ID。
required (400) requiredTimingOffset 要求中繼資料必須指定預設時間偏移,這樣 YouTube 才能判斷顯示促銷項目的時機。設定要求傳送資源中的 invideoPromotion.defaultTiming.offsetMs 屬性值。
required (400) requiredTimingOffset 要求中繼資料必須指定時間偏移,以便 YouTube 判斷顯示促銷項目的時機。設定要求傳送資源中的 invideoPromotion.timing.offsetMs 屬性值。
required (400) requiredTimingType 要求中繼資料必須指定時間方法,以便 YouTube 判斷顯示促銷商品的時機。設定要求傳送資源中的 invideoPromotion.defaultTiming.type 屬性值。
required (400) requiredTimingType 要求中繼資料必須指定時間方法,以便 YouTube 判斷顯示促銷商品的時機。設定要求傳送資源中的 invideoPromotion.timing.type 屬性值。
required (400) requiredTiming 要求中繼資料必須指定 invideoPromotion 部分中每個項目的時間。
required (400) requiredVideoId 要求中繼資料必須指定影片 ID,以便識別宣傳的項目。
required (400) requiredWebsiteUrl 要求中繼資料必須在 invideoPromotion 部分中指定網站網址。設定要求傳送資源中的 invideoPromotion.items[].id.websiteUrl 屬性值。

試試看!

使用 APIs Explorer 呼叫這個 API 並查看 API 要求和回應。