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 |
stringTham 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 |
stringTham 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 |
stringTham 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:
idsnippet.scheduledStartTimecontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMs
-
Bạn có thể đặt giá trị cho các thuộc tính sau:
snippet.titlesnippet.descriptionsnippet.categoryIdsnippet.scheduledStartTimesnippet.scheduledEndTimestatus.privacyStatuscontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMscontentDetails.enableAutoStartcontentDetails.enableAutoStopcontentDetails.enableClosedCaptionscontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.availabilityConfigmonetizationDetails.adsMonetizationStatusmonetizationDetails.cuepointSchedule.enabledmonetizationDetails.cuepointSchedule.pauseAdsUntilmonetizationDetails.cuepointSchedule.ytOptimizedCuepointConfigmonetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategymonetizationDetails.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:
|
|
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. 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. 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. 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. |
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:
|
|
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:
|
|
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.. |
|
required (400) |
enableMonitorStreamRequired |
Tài nguyên liveBroadcast không chỉ định thuộc tính contentDetails.. |
|
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.