API 現在支援將頻道或影片標示為「兒童專屬」的功能。此外,
channel
和 video 資源現在也包含可識別頻道或影片「兒童專屬」狀態的屬性。《YouTube API 服務條款》和《開發人員政策》也已於 2020 年 1 月 10 日更新。詳情請參閱 YouTube Data API 服務和《YouTube API 服務條款》的修訂版本記錄。更新頻道的中繼資料。請注意,這個方法僅支援更新 channel 資源的 brandingSettings、invideoPromotion 和 localizations 物件及其子項屬性。
配額影響:呼叫這個方法會產生 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 |
stringpart 參數在這項作業中有兩個用途。這個參數會識別寫入作業將設定的屬性,以及 API 回應將包含的屬性。API 只允許將參數值設為 brandingSettings、invideoPromotion 或 localizations。(您只能透過單一要求更新其中一個部分)。請注意,這個方法會覆寫參數值指定部分中所有可變動屬性的現有值。 |
|
| 選用參數 | ||
onBehalfOfContentOwner |
string這個參數只能用於授權要求。 onBehalfOfContentOwner 參數表示已驗證的使用者代表參數值中指定的內容擁有者。這項參數適用於擁有及管理多個不同 YouTube 頻道的 YouTube 內容合作夥伴。內容擁有者只要驗證一次,就能存取所有影片和頻道資料,不必為每個頻道提供驗證憑證。使用者用來驗證的實際 CMS 帳戶,必須連結至指定的 YouTube 內容擁有者。如果要求是透過 CMS 內容擁有者使用受管理頻道時的憑證進行驗證,就必須提供這個參數。如果省略,要求會在已驗證使用者的直接環境下執行,並傳回 HTTP 403 Forbidden 錯誤。 |
|
要求主體
在要求主體中提供 channel 資源。針對該資源:
-
你必須為下列屬性指定值:
id
-
您可以為下列屬性設定值:
brandingSettings.channel.countrybrandingSettings.channel.descriptionbrandingSettings.channel.defaultLanguagebrandingSettings.channel.keywordsbrandingSettings.channel.trackingAnalyticsAccountIdbrandingSettings.channel.unsubscribedTrailerlocalizations.(key)localizations.(key).titlelocalizations.(key).descriptionstatus.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 |
localizations 物件中的某個值未通過驗證。請使用 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 要求和回應。