Channels: update

API hiện hỗ trợ tính năng đánh dấu kênh hoặc video là "dành cho trẻ em". Ngoài ra, các tài nguyên channelvideo hiện cũng chứa một thuộc tính xác định trạng thái "dành cho trẻ em" của kênh hoặc video đó. Chúng tôi cũng đã cập nhật Điều khoản dịch vụ và Chính sách dành cho nhà phát triển của Dịch vụ API YouTube vào ngày 10 tháng 1 năm 2020. Để biết thêm thông tin, hãy xem nhật ký sửa đổi của Dịch vụ YouTube Data APIĐiều khoản dịch vụ của Dịch vụ API YouTube.

Cập nhật siêu dữ liệu của kênh. Xin lưu ý rằng phương thức này chỉ hỗ trợ nội dung cập nhật đối với các đối tượng brandingSettings, invideoPromotionlocalizations của tài nguyên channel cũng như các thuộc tính con của các đối tượng đó.

Tác động đến hạn mức: Một lệnh gọi đến phương thức này có chi phí hạn mức là 50 đơn vị.

Các trường hợp sử dụng phổ biến

Yêu cầu

Yêu cầu HTTP

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

Ủy quyền

Yêu cầu này yêu cầu uỷ quyền với ít nhất một trong các phạm vi sau. Để đọc thêm về việc xác thực và uỷ quyền, hãy xem bài viết Triển khai tính năng uỷ quyền OAuth 2.0.

Phạm vi
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Tham số

Bảng sau đây liệt kê các tham số mà truy vấn này hỗ trợ. Tất cả các tham số được liệt kê đều là tham số truy vấn.

Tham số
Tham số bắt buộc
part string
Tham số part phục vụ hai mục đích trong thao tác này. Phương thức này xác định các thuộc tính mà thao tác ghi sẽ đặt cũng như các thuộc tính mà phản hồi API sẽ bao gồm.

API chỉ cho phép đặt giá trị tham số thành brandingSettings, invideoPromotion hoặc localizations. (Bạn chỉ có thể cập nhật một trong các phần đó bằng một yêu cầu duy nhất.)

Lưu ý rằng phương thức này sẽ ghi đè các giá trị hiện có cho tất cả các thuộc tính có thể thay đổi có trong phần mà giá trị tham số chỉ định.
Thông số tuỳ chọn
onBehalfOfContentOwner string
Bạn chỉ có thể sử dụng tham số này trong một yêu cầu được uỷ quyền hợp lệ.

Tham số onBehalfOfContentOwner cho biết rằng người dùng đã xác thực đang thay mặt cho chủ sở hữu nội dung được chỉ định trong giá trị tham số. Tham số này dành cho những đối tác nội dung trên YouTube sở hữu và quản lý nhiều kênh YouTube. Tính năng này cho phép chủ sở hữu nội dung xác thực một lần và có quyền truy cập vào tất cả dữ liệu về video và kênh của họ mà không cần phải cung cấp thông tin xác thực cho từng kênh. Tài khoản CMS thực tế mà người dùng dùng để xác thực cần được liên kết với chủ sở hữu nội dung được chỉ định trên YouTube.

Nội dung yêu cầu

Cung cấp tài nguyên channel trong phần nội dung yêu cầu. Đối với tài nguyên đó:

  • Bạn phải chỉ định giá trị cho các thuộc tính này:

    • id
  • Bạn có thể đặt giá trị cho các thuộc tính này:

    • 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

    Nếu bạn gửi yêu cầu cập nhật và yêu cầu của bạn không chỉ định giá trị cho một thuộc tính đã có giá trị, thì giá trị hiện có của thuộc tính đó sẽ bị xoá.

Phản hồi

Nếu thành công, phương thức này sẽ trả về một tài nguyên channel trong phần nội dung phản hồi.

Lỗi

Bảng sau đây xác định thông báo lỗi mà API có thể trả về để phản hồi lệnh gọi đến phương thức này. Để biết thêm thông tin chi tiết, hãy xem bài viết API Dữ liệu của YouTube – Lỗi.

Loại lỗi Thông tin chi tiết về lỗi Mô tả
badRequest (400) brandingValidationError Một trong các giá trị trong đối tượng brandingSettings không xác thực được. Sử dụng phương thức channels.list để truy xuất chế độ cài đặt hiện có cho kênh và cập nhật giá trị thuộc tính theo nguyên tắc trong tài liệu về tài nguyên channels.
badRequest (400) channelTitleUpdateForbidden Khi cập nhật brandingSettings part của kênh, bạn phải đặt giá trị của thuộc tính brandingSettings.channel.title thành tiêu đề hiện tại của kênh hoặc bỏ qua thuộc tính này. API sẽ trả về lỗi nếu bạn thay đổi giá trị của thuộc tính.
badRequest (400) defaultLanguageNotSetError Bạn phải đặt defaultLanguage để cập nhật localizations.
badRequest (400) invalidBrandingOption Một trong các chế độ cài đặt thương hiệu mà bạn chỉ định không tồn tại. Sử dụng phương thức channels.list để truy xuất các giá trị hợp lệ và nhớ cập nhật các giá trị đó theo nguyên tắc trong tài liệu tài nguyên channels.
badRequest (400) invalidCustomMessage Siêu dữ liệu yêu cầu chỉ định một thông báo tuỳ chỉnh không hợp lệ. Kiểm tra giá trị của thuộc tính invideoPromotion.items[].customMessage trong tài nguyên mà yêu cầu đã gửi.
badRequest (400) invalidDuration Siêu dữ liệu yêu cầu chỉ định thời lượng không hợp lệ trong phần invideoPromotion.
badRequest (400) invalidDuration Siêu dữ liệu yêu cầu chỉ định một loại vị trí không hợp lệ để xác định cách đặt vị trí của mục được quảng bá trong trình phát video. Kiểm tra giá trị của thuộc tính invideoPromotion.position.type trong tài nguyên mà yêu cầu đã gửi.
badRequest (400) invalidRecentlyUploadedBy Siêu dữ liệu yêu cầu chỉ định một mã nhận dạng kênh không hợp lệ. Kiểm tra giá trị của thuộc tính invideoPromotion.items[].id.recentlyUploadedBy trong tài nguyên mà yêu cầu đã gửi.
badRequest (400) invalidTimingOffset Siêu dữ liệu yêu cầu chỉ định độ lệch thời gian không hợp lệ trong phần invideoPromotion.
badRequest (400) invalidTimingOffset Siêu dữ liệu yêu cầu chỉ định độ lệch thời gian không hợp lệ để xác định thời điểm hiển thị mục được quảng bá trong trình phát video. Kiểm tra giá trị của thuộc tính invideoPromotion.timing.offsetMs trong tài nguyên mà yêu cầu đã gửi.
badRequest (400) invalidTimingType Siêu dữ liệu yêu cầu chỉ định một phương thức tính thời gian không hợp lệ để xác định thời điểm hiển thị mục được quảng bá trong trình phát video. Kiểm tra giá trị của thuộc tính invideoPromotion.timing.type trong tài nguyên mà yêu cầu đã gửi.
badRequest (400) localizationValidationError Một trong các giá trị trong đối tượng bản địa hoá không được xác thực. Sử dụng phương thức channels.list để truy xuất các giá trị hợp lệ và nhớ cập nhật các giá trị đó theo nguyên tắc trong tài liệu về tài nguyên kênh.
badRequest (400) tooManyPromotedItems Số lượng mục được quảng bá vượt quá số lượng được phép trong phần invideoPromotion.
forbidden (403) channelForbidden Kênh được chỉ định trong thông số id không hỗ trợ yêu cầu hoặc yêu cầu không được uỷ quyền đúng cách.
forbidden (403) promotedVideoNotAllowed Không tìm thấy kênh mà yêu cầu API đang cố gắng cập nhật. Kiểm tra giá trị của thuộc tính id trong tài nguyên channel mà yêu cầu đã gửi để đảm bảo mã nhận dạng kênh là chính xác.
forbidden (403) websiteLinkNotAllowed URL trang web được chỉ định không được phép.
notFound (404) channelNotFound Không tìm thấy kênh được chỉ định trong thông số id.
notFound (404) channelNotFound Không tìm thấy kênh được chỉ định bằng thông số id hoặc kênh đó không có lựa chọn về thương hiệu.
notFound (404) unknownChannelId Không tìm thấy mã kênh được chỉ định.
notFound (404) unknownChannelId Không tìm thấy mã nhận dạng kênh recentlyUploadedBy được chỉ định.
notFound (404) unknownVideoId Không tìm thấy mã video được chỉ định làm mục được quảng bá.
required (400) requiredItemIdType Siêu dữ liệu yêu cầu phải chỉ định một loại mục trong phần invideoPromotion.
required (400) requiredItemId Siêu dữ liệu yêu cầu phải chỉ định mã mặt hàng trong phần invideoPromotion.
required (400) requiredTimingOffset Siêu dữ liệu yêu cầu phải chỉ định độ lệch thời gian mặc định để YouTube có thể xác định thời điểm hiển thị mặt hàng được quảng bá. Đặt giá trị của thuộc tính invideoPromotion.defaultTiming.offsetMs trong tài nguyên mà yêu cầu gửi.
required (400) requiredTimingOffset Siêu dữ liệu yêu cầu phải chỉ định độ lệch thời gian để YouTube có thể xác định thời điểm hiển thị mặt hàng được quảng bá. Đặt giá trị của thuộc tính invideoPromotion.timing.offsetMs trong tài nguyên mà yêu cầu gửi.
required (400) requiredTimingType Siêu dữ liệu yêu cầu phải chỉ định một phương thức tính thời gian để YouTube có thể xác định thời điểm hiển thị mục được quảng bá. Đặt giá trị của thuộc tính invideoPromotion.defaultTiming.type trong tài nguyên mà yêu cầu gửi.
required (400) requiredTimingType Siêu dữ liệu yêu cầu phải chỉ định một phương thức tính thời gian để YouTube có thể xác định thời điểm hiển thị mục được quảng bá. Đặt giá trị của thuộc tính invideoPromotion.timing.type trong tài nguyên mà yêu cầu gửi.
required (400) requiredTiming Siêu dữ liệu yêu cầu phải chỉ định thời gian cho từng mục trong phần invideoPromotion.
required (400) requiredVideoId Siêu dữ liệu yêu cầu phải chỉ định mã video để xác định mục được quảng bá.
required (400) requiredWebsiteUrl Siêu dữ liệu yêu cầu phải chỉ định URL của trang web trong phần invideoPromotion. Đặt giá trị của thuộc tính invideoPromotion.items[].id.websiteUrl trong tài nguyên mà yêu cầu gửi.

Hãy dùng thử!

Sử dụng APIs Explorer để gọi API này và xem yêu cầu và phản hồi API.