LiveBroadcasts: update

อัปเดตการออกอากาศ เช่น คุณสามารถแก้ไขการตั้งค่าการออกอากาศที่กำหนดไว้ในออบเจ็กต์ contentDetails ของทรัพยากร liveBroadcast ได้

กรณีการใช้งานทั่วไป

ส่งคำขอ

คำขอ HTTP

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

การให้สิทธิ์

คำขอนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตอย่างน้อย 1 รายการต่อไปนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์ได้ที่ การใช้การให้สิทธิ์ OAuth 2.0

ขอบเขต
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

พารามิเตอร์

ตารางต่อไปนี้แสดงพารามิเตอร์ที่การค้นหานี้รองรับ พารามิเตอร์ทั้งหมดที่แสดงเป็นพารามิเตอร์การค้นหา

พารามิเตอร์
พารามิเตอร์ที่จำเป็น
part string
พารามิเตอร์ part มีไว้เพื่อวัตถุประสงค์ 2 อย่างในการดำเนินการนี้ โดยจะระบุพร็อพเพอร์ตี้ที่การดำเนินการเขียนจะตั้งค่า รวมถึงพร็อพเพอร์ตี้ที่การตอบกลับของ API จะรวมไว้

พร็อพเพอร์ตี้ part ที่คุณรวมไว้ในค่าพารามิเตอร์ได้คือ id, snippet, contentDetails, monetizationDetails และ status.

โปรดทราบว่าเมธอดนี้จะลบล้างค่าที่มีอยู่สำหรับพร็อพเพอร์ตี้ที่เปลี่ยนแปลงได้ทั้งหมดซึ่งอยู่ในส่วนต่างๆ ที่ค่าพารามิเตอร์ระบุ เช่น สถานะความเป็นส่วนตัวของการออกอากาศจะกำหนดไว้ในส่วน status ดังนั้น หากคำขอของคุณเป็นการอัปเดตการออกอากาศแบบส่วนตัวหรือแบบไม่เป็นสาธารณะ และค่าพารามิเตอร์ part ของคำขอมีส่วน status การตั้งค่าความเป็นส่วนตัวของการออกอากาศจะอัปเดตเป็นค่าที่เนื้อหาของคำขอระบุ หากเนื้อหาของคำขอไม่ได้ระบุค่า ระบบจะนำการตั้งค่าความเป็นส่วนตัวที่มีอยู่ออก และการออกอากาศจะกลับไปใช้การตั้งค่าความเป็นส่วนตัวเริ่มต้น
พารามิเตอร์ที่ไม่บังคับ
onBehalfOfContentOwner string
พารามิเตอร์นี้ใช้ได้เฉพาะในคำขอที่ได้รับอนุญาตอย่างถูกต้อง
หมายเหตุ: พารามิเตอร์นี้มีไว้สำหรับพาร์ทเนอร์ด้านเนื้อหาของ YouTube เท่านั้น

พารามิเตอร์ onBehalfOfContentOwner บ่งชี้ว่าข้อมูลเข้าสู่ระบบการให้สิทธิ์ของคำขอระบุผู้ใช้ระบบจัดการเนื้อหา (CMS) ของ YouTube ที่ดำเนินการในนามของเจ้าของเนื้อหาที่ระบุไว้ในค่าพารามิเตอร์ พารามิเตอร์นี้มีไว้สำหรับพาร์ทเนอร์ด้านเนื้อหาของ YouTube ที่เป็นเจ้าของและจัดการช่อง YouTube หลายช่อง ซึ่งช่วยให้เจ้าของเนื้อหาสามารถตรวจสอบสิทธิ์เพียงครั้งเดียวและเข้าถึงข้อมูลวิดีโอและช่องทั้งหมดได้โดยไม่ต้องระบุข้อมูลรับรองการตรวจสอบสิทธิ์สำหรับแต่ละช่อง บัญชี CMS ที่ผู้ใช้ตรวจสอบสิทธิ์ต้องลิงก์กับเจ้าของเนื้อหา YouTube ที่ระบุ
onBehalfOfContentOwnerChannel string
พารามิเตอร์นี้ใช้ได้เฉพาะในคำขอที่ได้รับอนุญาตอย่างถูกต้อง
หมายเหตุ: พารามิเตอร์นี้มีไว้สำหรับพาร์ทเนอร์ด้านเนื้อหาของ YouTube เท่านั้น

พารามิเตอร์ onBehalfOfContentOwnerChannel จะระบุรหัสช่อง YouTube ของช่องที่จะเพิ่มวิดีโอ พารามิเตอร์นี้จำเป็นเมื่อคำขอระบุค่าสำหรับพารามิเตอร์ onBehalfOfContentOwner และใช้ได้เฉพาะกับพารามิเตอร์ดังกล่าวเท่านั้น นอกจากนี้ คำขอต้องได้รับอนุญาตโดยใช้บัญชี CMS ที่ลิงก์กับเจ้าของเนื้อหาที่พารามิเตอร์ onBehalfOfContentOwner ระบุ สุดท้ายนี้ ช่องที่ค่าพารามิเตอร์ onBehalfOfContentOwnerChannel ระบุต้องลิงก์กับเจ้าของเนื้อหาที่พาร1มิเตอร์ onBehalfOfContentOwner ระบุ

พารามิเตอร์นี้มีไว้สำหรับพาร์ทเนอร์ด้านเนื้อหาของ YouTube ที่เป็นเจ้าของและจัดการช่อง YouTube หลายช่อง ซึ่งช่วยให้เจ้าของเนื้อหาสามารถตรวจสอบสิทธิ์เพียงครั้งเดียวและดำเนินการในนามของช่องที่ระบุไว้ในค่าพารามิเตอร์ได้โดยไม่ต้องระบุข้อมูลรับรองการตรวจสอบสิทธิ์สำหรับแต่ละช่อง

เนื้อความของคำขอ

ระบุทรัพยากร liveBroadcast ในเนื้อความของคำขอ สำหรับทรัพยากรดังกล่าว ให้ทำดังนี้

  • คุณต้องระบุค่าสำหรับพร็อพเพอร์ตี้ต่อไปนี้

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

  • คุณตั้งค่าสำหรับพร็อพเพอร์ตี้ต่อไปนี้ได้

    • 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

    หากคุณส่งคำขออัปเดตและคำขอไม่ได้ระบุค่าสำหรับพร็อพเพอร์ตี้ที่มีค่าอยู่แล้ว ระบบจะลบค่าที่มีอยู่ของพร็อพเพอร์ตี้ดังกล่าว

คำตอบ

หากทำสำเร็จ เมธอดนี้จะแสดงผลทรัพยากร liveBroadcast ในเนื้อหาการตอบกลับ

ข้อผิดพลาด

ตารางต่อไปนี้ระบุข้อความแสดงข้อผิดพลาดที่ API อาจแสดงผลเพื่อตอบสนองต่อการเรียกเมธอดนี้ ดูรายละเอียดเพิ่มเติมได้ที่ ข้อความแสดงข้อผิดพลาด

ประเภทข้อผิดพลาด รายละเอียดข้อผิดพลาด คำอธิบาย
backendError (503) backendError ยังใช้การตั้งค่าบางอย่างไม่ได้ ซึ่งน่าจะเป็นเพราะเพิ่งสร้างการออกอากาศ โปรดลองอีกครั้งในอีกสักครู่
forbidden (403) closedCaptionsTypeModificationNotAllowed ค่า contentDetails.closedCaptionsType จะแก้ไขได้ก็ต่อเมื่อการออกอากาศอยู่ในสถานะ created หรือ ready เท่านั้น
forbidden (403) monetizationDetailsModificationNotAllowed ช่องที่ไม่ได้เข้าร่วมโปรแกรมพาร์ทเนอร์ YouTube (YPP) จะแก้ไข monetizationDetails สำหรับวิดีโอไม่ได้
forbidden (403) pauseAdsUntilModificationNotAllowed แก้ไขช่อง pauseAdsUntil ไม่ได้ ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
  • ไม่ได้ตั้งค่าช่อง monetizationDetails.cuepointSchedule.enabled เป็น true โดยตั้งค่าช่องนี้ได้ใน YouTube Studio เท่านั้น
  • การออกอากาศไม่ได้เผยแพร่แบบสด
forbidden (403) enableAutoStartModificationNotAllowed ค่า contentDetails.enableAutoStart จะแก้ไขได้ก็ต่อเมื่อสตรีมไม่มีการใช้งานและการออกอากาศอยู่ในสถานะ created หรือ ready เท่านั้น
forbidden (403) enableClosedCaptionsModificationNotAllowed ค่า contentDetails.enableClosedCaptions จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น
forbidden (403) enableDvrModificationNotAllowed ค่า contentDetails.enableDvr จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น
forbidden (403) enableMonitorStreamModificationNotAllowed ค่า contentDetails.monitorStream.enableMonitorStream จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น
forbidden (403) recordFromStartModificationNotAllowed ค่า contentDetails.recordFromStart จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น
insufficientPermissions insufficientLivePermissions คำขอไม่มีสิทธิ์อัปเดตการถ่ายทอดสดที่ระบุ ดูข้อมูลเพิ่มเติมได้ที่ การตรวจสอบสิทธิ์ OAuth2
insufficientPermissions liveStreamingNotEnabled ผู้ใช้ที่ให้สิทธิ์คำขอไม่ได้เปิดใช้การสตรีมวิดีโอสดบน YouTube ผู้ใช้ดูข้อมูลเพิ่มเติมได้ที่ https://www.youtube.com/features
invalidArgument missingAdsMonetizationStatus ต้องระบุ ads_monetization_status เป็น ON หรือ OFF
invalidValue (400) invalidAutoStart ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ contentDetails.enableAutoStart คุณแก้ไขการตั้งค่า enableAutoStart สำหรับการออกอากาศแบบต่อเนื่องไม่ได้
invalidValue (400) invalidAutoStop ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ contentDetails.enableAutoStop คุณ แก้ไขการตั้งค่า enableAutoStop สำหรับการออกอากาศแบบต่อเนื่องไม่ได้
invalidValue (400) invalidDescription ทรัพยากร liveBroadcast ไม่ได้ระบุค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้ snippet.description snippet.description มีอักขระได้สูงสุด 5,000 ตัว
invalidValue (400) invalidEmbedSetting ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ contentDetails.enable_embed คุณฝังการออกอากาศนี้ไม่ได้
invalidValue (400) invalidEnableClosedCaptions ในทรัพยากร liveBroadcast ค่าของพร็อพเพอร์ตี้ contentDetails.enableClosedCaptions ไม่เข้ากันกับค่าของการตั้งค่า contentDetails.closedCaptionType แก้ไขทรัพยากรให้มีเพียง 1 ใน 2 พร็อพเพอร์ตี้ แล้วส่งคำขออีกครั้ง
invalidValue (400) invalidLatencyPreferenceOptions ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ contentDetails.latencyPreference การตั้งค่าบางอย่างไม่รองรับค่ากำหนดความหน่วงนี้
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization เป็นแบบอ่านอย่างเดียวและระบุในช่อง monetization_details ไม่ได้
invalidValue (400) invalidCuepointSchedule ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ monetizationDetails.cuepointSchedule ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
  • ระบุ cuepoint_schedule ไม่ได้หาก ads_monetization_status เป็น OFF
  • ต้องระบุ cuepoint_schedule หาก ads_monetization_status เป็น ON
ระบุ cuepoint_schedule ไม่ได้หาก ads_monetization_status เป็น OFF
invalidValue (400) invalidEnabled ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องหรือขัดแย้งกันสำหรับพร็อพเพอร์ตี้ monetizationDetails.cuepointSchedule.enabled ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
  • ต้องระบุ enabled ในช่อง cuepoint_schedule
  • ระบุ pause_ads_until, yt_optimized_cuepoint_config หรือ creator_cuepoint_config ไม่ได้หาก enabled เป็น "false"
  • ระบุได้เพียง 1 รายการจาก yt_optimized_cuepoint_config และ creator_cuepoint_config หาก enabled เป็น "true"
invalidValue (400) invalidCreatorCuepointConfig ต้องระบุทั้ง schedule_strategy และ repeat_interval_secs
invalidValue (400) invalidRepeatIntervalSecs ค่าพร็อพเพอร์ตี้ repeat_interval_secs ต้องอยู่ในช่วง [360, 3600]
invalidValue (400) invalidPauseAdsUntil ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ monetizationDetails.cuepointSchedule.pauseAdsUntil ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
  • ไม่ได้ระบุค่า monetizationDetails.cuepointSchedule.pauseAdsUntil ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
  • ค่า monetizationDetails.cuepointSchedule.pauseAdsUntil ไม่ใช่เวลาในอนาคต
  • ค่า monetizationDetails.cuepointSchedule.pauseAdsUntil อยู่ห่างจากเวลาปัจจุบันมากกว่า 10 นาที
invalidValue (400) invalidPrivacyStatus ทรัพยากร liveBroadcast ไม่ได้ระบุสถานะความเป็นส่วนตัวที่ถูกต้อง ดูค่า ที่ถูกต้อง privacyStatus
invalidValue (400) invalidProjection ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ contentDetails.projection คุณตั้งค่าการฉายภาพของการออกอากาศแบบต่อเนื่องเป็น 360 ไม่ได้
invalidValue (400) invalidScheduledEndTime ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ snippet.scheduledEndTime เวลาสิ้นสุดที่กำหนดไว้ต้องอยู่หลังเวลาเริ่มต้นที่กำหนดไว้
invalidValue (400) invalidScheduledStartTime ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ snippet.scheduledStartTime เวลาเริ่มต้นที่กำหนดไว้ต้องเป็นเวลาในอนาคต
invalidValue (400) invalidTitle ทรัพยากร liveBroadcast ไม่ได้ระบุค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้ snippet.title snippet.title ต้องมีความยาวระหว่าง 1 ถึง 100 อักขระ
notFound (404) liveBroadcastNotFound พร็อพเพอร์ตี้ id ที่ระบุในทรัพยากร liveBroadcast ไม่ได้ระบุการออกอากาศ
preconditionFailed (412) videoNotEligibleForAdsMonetization วิดีโอไม่มีสิทธิ์สร้างรายได้จากโฆษณา ซึ่งอาจเกิดขึ้นได้หากช่องไม่มีสิทธิ์สร้างรายได้
required (400) broadcastStreamDelayMsRequired ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ contentDetails.monitorStream.broadcastStreamDelayMs
required (400) enableMonitorStreamRequired ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ contentDetails.monitorStream.enableMonitorStream
required (400) idRequired ทรัพยากร liveBroadcast ต้องมีและระบุค่าสำหรับพร็อพเพอร์ตี้ id
required (400) scheduledEndTimeRequired ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ snippet.scheduledEndTime
required (400) scheduledStartTimeRequired ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ snippet.scheduledStartTime

ลองใช้งาน

ใช้ APIs Explorer เพื่อเรียก API นี้และดูคำขอและการตอบกลับของ API