อัปเดตการออกอากาศ เช่น คุณสามารถแก้ไขการตั้งค่าการออกอากาศที่กำหนดไว้ในออบเจ็กต์ 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 ในเนื้อความของคำขอ สำหรับทรัพยากรดังกล่าว ให้ทำดังนี้
-
คุณต้องระบุค่าสำหรับพร็อพเพอร์ตี้ต่อไปนี้
idsnippet.scheduledStartTimecontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMs
-
คุณตั้งค่าสำหรับพร็อพเพอร์ตี้ต่อไปนี้ได้
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
หากคุณส่งคำขออัปเดตและคำขอไม่ได้ระบุค่าสำหรับพร็อพเพอร์ตี้ที่มีค่าอยู่แล้ว ระบบจะลบค่าที่มีอยู่ของพร็อพเพอร์ตี้ดังกล่าว
คำตอบ
หากทำสำเร็จ เมธอดนี้จะแสดงผลทรัพยากร liveBroadcast ในเนื้อหาการตอบกลับ
ข้อผิดพลาด
ตารางต่อไปนี้ระบุข้อความแสดงข้อผิดพลาดที่ API อาจแสดงผลเพื่อตอบสนองต่อการเรียกเมธอดนี้ ดูรายละเอียดเพิ่มเติมได้ที่ ข้อความแสดงข้อผิดพลาด
| ประเภทข้อผิดพลาด | รายละเอียดข้อผิดพลาด | คำอธิบาย | |
|---|---|---|---|
backendError (503) |
backendError |
ยังใช้การตั้งค่าบางอย่างไม่ได้ ซึ่งน่าจะเป็นเพราะเพิ่งสร้างการออกอากาศ โปรดลองอีกครั้งในอีกสักครู่ | |
forbidden (403) |
closedCaptionsTypeModificationNotAllowed |
ค่า contentDetails.closedCaptionsType จะแก้ไขได้ก็ต่อเมื่อการออกอากาศอยู่ในสถานะ created หรือ ready เท่านั้น |
|
forbidden (403) |
monetizationDetailsModificationNotAllowed |
ช่องที่ไม่ได้เข้าร่วมโปรแกรมพาร์ทเนอร์ YouTube (YPP) จะแก้ไข monetizationDetails สำหรับวิดีโอไม่ได้ |
|
forbidden (403) |
pauseAdsUntilModificationNotAllowed |
แก้ไขช่อง pauseAdsUntil ไม่ได้
ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
|
|
forbidden (403) |
enableAutoStartModificationNotAllowed |
ค่า contentDetails.enableAutoStart จะแก้ไขได้ก็ต่อเมื่อสตรีมไม่มีการใช้งานและการออกอากาศอยู่ในสถานะ created หรือ ready เท่านั้น |
|
forbidden (403) |
enableClosedCaptionsModificationNotAllowed |
ค่า contentDetails.enableClosedCaptions จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น |
|
forbidden (403) |
enableDvrModificationNotAllowed |
ค่า contentDetails. จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น |
|
forbidden (403) |
enableMonitorStreamModificationNotAllowed |
ค่า contentDetails. จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น created หรือ ready เท่านั้น |
|
forbidden (403) |
recordFromStartModificationNotAllowed |
ค่า contentDetails. จะแก้ไขได้ก็ต่อเมื่อสถานะของการออกอากาศเป็น 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 |
invalidValue (400) |
invalidEnabled |
ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องหรือขัดแย้งกันสำหรับพร็อพเพอร์ตี้ monetizationDetails.cuepointSchedule.enabled
ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
|
|
invalidValue (400) |
invalidCreatorCuepointConfig |
ต้องระบุทั้ง schedule_strategy และ repeat_interval_secs |
|
invalidValue (400) |
invalidRepeatIntervalSecs |
ค่าพร็อพเพอร์ตี้ repeat_interval_secs ต้องอยู่ในช่วง [360, 3600] |
|
invalidValue (400) |
invalidPauseAdsUntil |
ทรัพยากร liveBroadcast มีค่าที่ไม่ถูกต้องสำหรับพร็อพเพอร์ตี้ monetizationDetails.cuepointSchedule.pauseAdsUntil
ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจากสาเหตุต่อไปนี้
|
|
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. |
|
required (400) |
enableMonitorStreamRequired |
ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ contentDetails. |
|
required (400) |
idRequired |
ทรัพยากร liveBroadcast ต้องมีและระบุค่าสำหรับพร็อพเพอร์ตี้ id |
|
required (400) |
scheduledEndTimeRequired |
ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ snippet.scheduledEndTime |
|
required (400) |
scheduledStartTimeRequired |
ทรัพยากร liveBroadcast ไม่ได้ระบุพร็อพเพอร์ตี้ snippet.scheduledStartTime |
ลองใช้งาน
ใช้ APIs Explorer เพื่อเรียก API นี้และดูคำขอและการตอบกลับของ API