LiveBroadcasts: update

Cập nhật một sự kiện phát trực tiếp. Ví dụ: bạn có thể sửa đổi chế độ cài đặt sự kiện phát trực tiếp được xác định trong đối tượng contentDetails của tài nguyên liveBroadcast.

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/liveBroadcasts

Ủy quyền

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

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

Thông 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.

Thông số
Tham số bắt buộc
part string
Tham số part phục vụ 2 mục đích trong thao tác này. Tham số 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 của API sẽ bao gồm.

Các part thuộc tính mà bạn có thể đưa vào giá trị tham số là id, snippet, contentDetails, monetizationDetails và status.

Xin 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 bất kỳ phần nào mà giá trị tham số chỉ định. Ví dụ: trạng thái quyền riêng tư của một sự kiện phát trực tiếp được xác định trong phần status. Do đó, nếu yêu cầu của bạn đang cập nhật một sự kiện phát trực tiếp ở chế độ riêng tư hoặc không công khai và giá trị tham số part của yêu cầu bao gồm phần status, thì chế độ cài đặt quyền riêng tư của sự kiện phát trực tiếp sẽ được cập nhật thành bất kỳ giá trị nào mà nội dung yêu cầu chỉ định. Nếu nội dung yêu cầu không chỉ định giá trị, thì chế độ cài đặt quyền riêng tư hiện có sẽ bị xoá và sự kiện phát trực tiếp sẽ quay lại chế độ cài đặt quyền riêng tư mặc định.
Thông số tuỳ chọn
onBehalfOfContentOwner string
Tham số này chỉ có thể được sử dụng trong một yêu cầu được uỷ quyền đúng cách.
Lưu ý: Tham số này chỉ dành riêng cho các đối tác nội dung của YouTube.

Tham số onBehalfOfContentOwner cho biết rằng thông tin xác thực uỷ quyền của yêu cầu xác định một người dùng Hệ thống quản lý nội dung (CMS) của YouTube đ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 các đối tác nội dung của YouTube sở hữu và quản lý nhiều kênh YouTube khác nhau. Tham số này cho phép chủ sở hữu nội dung xác thực một lần và truy cập vào tất cả dữ liệu về video và kênh của họ mà không cần cung cấp thông tin xác thực cho từng kênh riêng lẻ. Tài khoản CMS mà người dùng xác thực phải được liên kết với chủ sở hữu nội dung được chỉ định trên YouTube.
onBehalfOfContentOwnerChannel string
Tham số này chỉ có thể được sử dụng trong một yêu cầu được uỷ quyền đúng cách.
Lưu ý: Tham số này chỉ dành riêng cho các đối tác nội dung của YouTube.

Tham số onBehalfOfContentOwnerChannel chỉ định mã nhận dạng kênh YouTube của kênh mà video đang được thêm vào. Tham số này là bắt buộc khi một yêu cầu chỉ định giá trị cho tham số onBehalfOfContentOwner và chỉ có thể được sử dụng cùng với tham số đó. Ngoài ra, yêu cầu phải được uỷ quyền bằng một tài khoản CMS được liên kết với chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định. Cuối cùng, kênh mà giá trị tham số onBehalfOfContentOwnerChannel chỉ định phải được liên kết với chủ sở hữu nội dung mà tham số onBehalfOfContentOwner chỉ định.

Tham số này dành cho các đối tác nội dung của YouTube sở hữu và quản lý nhiều kênh YouTube khác nhau. Tham số này cho phép chủ sở hữu nội dung xác thực một lần và thực hiện các hành động thay mặt cho kênh được chỉ định trong giá trị tham số mà không cần cung cấp thông tin xác thực cho từng kênh riêng biệt.

Nội dung yêu cầu

Cung cấp tài nguyên liveBroadcast trong 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 sau:

    • id
    • snippet.scheduledStartTime
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs

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

    • snippet.title
    • snippet.description
    • snippet.categoryId
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.availabilityConfig
    • monetizationDetails.adsMonetizationStatus
    • monetizationDetails.cuepointSchedule.enabled
    • monetizationDetails.cuepointSchedule.pauseAdsUntil
    • monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs

    Nếu bạn đang 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ề tài nguyên liveBroadcast trong nội dung phản hồi.

Lỗi

Bảng sau đây xác định các 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 thông báo lỗi.

Loại lỗi Thông tin chi tiết về lỗi Mô tả
backendError (503) backendError Một số chế độ cài đặt chưa thể áp dụng. Nguyên nhân có thể là do sự kiện phát trực tiếp vừa được tạo. Vui lòng thử lại sau vài giây.
forbidden (403) closedCaptionsTypeModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.closedCaptionsType khi sự kiện phát trực tiếp ở trạng thái created hoặc ready.
forbidden (403) monetizationDetailsModificationNotAllowed Những kênh không tham gia Chương trình Đối tác YouTube (YPP) không thể sửa đổi monetizationDetails cho một video.
forbidden (403) pauseAdsUntilModificationNotAllowed Bạn không thể sửa đổi trường pauseAdsUntil. Lỗi này có thể xảy ra vì những lý do sau:
  • Trường monetizationDetails.cuepointSchedule.enabled không được đặt thành true. Bạn chỉ có thể đặt trường này bằng YouTube Studio.
  • Sự kiện phát trực tiếp không hoạt động.
forbidden (403) enableAutoStartModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.enableAutoStart khi luồng không hoạt động và sự kiện phát trực tiếp ở trạng thái created hoặc ready.
forbidden (403) enableClosedCaptionsModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.enableClosedCaptions khi trạng thái của sự kiện phát trực tiếp là created hoặc ready.
forbidden (403) enableDvrModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.enableDvr khi trạng thái của sự kiện phát trực tiếp là created hoặc ready.
forbidden (403) enableMonitorStreamModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.monitorStream.enableMonitorStream khi trạng thái của sự kiện phát trực tiếp là created hoặc ready.
forbidden (403) recordFromStartModificationNotAllowed Bạn chỉ có thể sửa đổi giá trị contentDetails.recordFromStart khi trạng thái của sự kiện phát trực tiếp là created hoặc ready.
insufficientPermissions insufficientLivePermissions Yêu cầu không được phép cập nhật sự kiện phát sóng trực tiếp được chỉ định. Để biết thêm thông tin, hãy xem bài viết Triển khai quy trình xác thực OAuth2.
insufficientPermissions liveStreamingNotEnabled Người dùng đã uỷ quyền cho yêu cầu không được phép phát video trực tiếp trên YouTube. Người dùng có thể tìm thêm thông tin tại https://www.youtube.com/features.
invalidArgument missingAdsMonetizationStatus Bạn phải chỉ định ads_monetization_status là ON hoặc OFF.
invalidValue (400) invalidAutoStart Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính contentDetails.enableAutoStart. Bạn không thể sửa đổi chế độ cài đặt enableAutoStart cho một sự kiện phát trực tiếp liên tục.
invalidValue (400) invalidAutoStop Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính contentDetails.enableAutoStop. Bạn không thể sửa đổi chế độ cài đặt enableAutoStop cho một sự kiện phát trực tiếp liên tục.
invalidValue (400) invalidDescription Tài nguyên liveBroadcast không chỉ định giá trị hợp lệ cho thuộc tính snippet.description. snippet.description có thể chứa tối đa 5.000 ký tự.
invalidValue (400) invalidEmbedSetting Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính contentDetails.enable_embed. Bạn không thể nhúng sự kiện phát trực tiếp này.
invalidValue (400) invalidEnableClosedCaptions Trong tài nguyên liveBroadcast, giá trị của thuộc tính contentDetails.enableClosedCaptions không tương thích với giá trị của chế độ cài đặt contentDetails.closedCaptionType. Hãy sửa đổi tài nguyên để chỉ bao gồm một trong hai thuộc tính, sau đó gửi lại yêu cầu.
invalidValue (400) invalidLatencyPreferenceOptions Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính contentDetails.latencyPreference. Không phải chế độ cài đặt nào cũng được hỗ trợ với tuỳ chọn ưu tiên độ trễ này.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization là thuộc tính chỉ có thể đọc và không thể chỉ định trong trường monetization_details.
invalidValue (400) invalidCuepointSchedule Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính monetizationDetails.cuepointSchedule. Lỗi này có thể xảy ra vì những lý do sau:
  • Bạn không thể chỉ định cuepoint_schedule nếu ads_monetization_status là OFF.
  • Bạn phải chỉ định cuepoint_schedule nếu ads_monetization_status là ON.
Bạn không thể chỉ định cuepoint_schedule nếu ads_monetization_status là OFF.
invalidValue (400) invalidEnabled Tài nguyên liveBroadcast chứa một giá trị không hợp lệ hoặc xung đột cho monetizationDetails.cuepointSchedule.enabled thuộc tính. Lỗi này có thể xảy ra vì những lý do sau:
  • Bạn phải chỉ định enabled trong trường cuepoint_schedule.
  • Bạn không thể chỉ định pause_ads_until, yt_optimized_cuepoint_config hoặc creator_cuepoint_config nếu enabled là false.
  • Bạn chỉ có thể chỉ định một trong hai thuộc tính yt_optimized_cuepoint_config và creator_cuepoint_config nếu enabled là true.
invalidValue (400) invalidCreatorCuepointConfig Bạn phải chỉ định cả schedule_strategy và repeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs Giá trị thuộc tính repeat_interval_secs phải nằm trong phạm vi [360, 3600].
invalidValue (400) invalidPauseAdsUntil Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính monetizationDetails.cuepointSchedule.pauseAdsUntil. Lỗi này có thể xảy ra vì những lý do sau:
  • Giá trị monetizationDetails.cuepointSchedule.pauseAdsUntil không được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • Giá trị monetizationDetails.cuepointSchedule.pauseAdsUntil không phải là thời gian trong tương lai.
  • Giá trị monetizationDetails.cuepointSchedule.pauseAdsUntil cách thời gian hiện tại hơn 10 phút.
invalidValue (400) invalidPrivacyStatus Tài nguyên liveBroadcast không chỉ định trạng thái quyền riêng tư hợp lệ. Xem các giá trị hợp lệ privacyStatus.
invalidValue (400) invalidProjection Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính contentDetails.projection. Bạn không thể đặt chế độ chiếu của một sự kiện phát trực tiếp liên tục thành 360.
invalidValue (400) invalidScheduledEndTime Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính snippet.scheduledEndTime. Thời gian kết thúc theo lịch trình phải sau thời gian bắt đầu theo lịch trình.
invalidValue (400) invalidScheduledStartTime Tài nguyên liveBroadcast chứa một giá trị không hợp lệ cho thuộc tính snippet.scheduledStartTime. Thời gian bắt đầu theo lịch trình phải là thời gian trong tương lai.
invalidValue (400) invalidTitle Tài nguyên liveBroadcast không chỉ định giá trị hợp lệ cho thuộc tính snippet.title. snippet.title phải dài từ 1 đến 100 ký tự.
notFound (404) liveBroadcastNotFound Thuộc tính id được chỉ định trong tài nguyên liveBroadcast không xác định được sự kiện phát trực tiếp.
preconditionFailed (412) videoNotEligibleForAdsMonetization Video không đủ điều kiện kiếm tiền từ quảng cáo. Điều này có thể xảy ra nếu kênh không đủ điều kiện kiếm tiền.
required (400) broadcastStreamDelayMsRequired Tài nguyên liveBroadcast không chỉ định thuộc tính contentDetails.monitorStream.broadcastStreamDelayMs.
required (400) enableMonitorStreamRequired Tài nguyên liveBroadcast không chỉ định thuộc tính contentDetails.monitorStream.enableMonitorStream.
required (400) idRequired Tài nguyên liveBroadcast phải bao gồm và chỉ định giá trị cho thuộc tính id.
required (400) scheduledEndTimeRequired Tài nguyên liveBroadcast không chỉ định thuộc tính snippet.scheduledEndTime.
required (400) scheduledStartTimeRequired Tài nguyên liveBroadcast không chỉ định thuộc tính snippet.scheduledStartTime.

Hãy dùng thử!

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