Channels: update

API 現在支援將頻道影片標示為「兒童專屬」。此外,channelvideo 資源現在也包含屬性,可識別頻道或影片的「兒童專屬」狀態。我們也於 2020 年 1 月 10 日更新了《YouTube API 服務條款》和《開發人員政策》。詳情請參閱 YouTube Data API 服務修訂版本歷史記錄和《YouTube API 服務條款》。

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

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

常見用途

要求

HTTP 要求

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

授權

這項要求需要至少具備下列其中一個範圍的授權。如要進一步瞭解驗證和授權,請參閱「實作 OAuth 2.0 授權」。

範圍
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 內容擁有者。

要求主體

請在要求主體中提供 channel 資源。針對該資源:

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

    • 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

    如果您提交更新要求,但未為已設有值的屬性指定值,系統會刪除該屬性現有的值。

回應

如果成功的話,這個方法會在回應內文中傳回 channel 資源。

錯誤

下表列出 API 在回應對此方法的呼叫時可能傳回的錯誤訊息。詳情請參閱「YouTube Data 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 invideoPromotion 部分的宣傳項目數量已超出允許數量。
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 找不到指定的 recentlyUploadedBy 頻道 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 要求和回應。