LiveBroadcasts: update

یک همه‌فرستی را به‌روزرسانی می‌کند. برای مثال، می‌توانید تنظیمات همه‌فرستی تعریف‌شده در شیء contentDetails منبع liveBroadcast را اصلاح کنید.

موارد استفاده رایج

درخواست

درخواست HTTP

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

صدور مجوز

این درخواست به مجوز با حداقل یکی از محدوده‌های زیر نیاز دارد. برای کسب اطلاعات بیشتر درباره اصالت‌سنجی و صدور مجوز، به پیاده‌سازی مجوز OAuth 2.0 مراجعه کنید.

حوزه
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

پارامترها

جدول زیر پارامترهایی را که این پُرسمان پشتیبانی می‌کند فهرست می‌کند. همه پارامترهای فهرست‌شده، پارامترهای پُرسمان هستند.

پارامترها
پارامترهای الزامی
part string
پارامتر part در این عملیات دو هدف را دنبال می‌کند. این پارامتر ویژگی‌هایی را که عملیات نوشتن تنظیم می‌کند و همچنین ویژگی‌هایی را که پاسخ میانای برنامه‌سازی کاربردی دربرمی‌گیرد شناسایی می‌کند.

ویژگی‌های part که می‌توانید در مقدار پارامتر بگنجانید عبارت‌اند از id، snippet، contentDetails، monetizationDetails، و status.

توجه داشته باشید که این روش مقادیر موجود را برای همه ویژگی‌های تغییرپذیری که در هر بخشی که مقدار پارامتر مشخص می‌کند وجود دارد لغو می‌کند. برای مثال، وضعیت حریم خصوصی یک پخش در بخش status تعریف می‌شود. بنابراین، اگر درخواست شما درحال به‌روزرسانی یک همه‌فرستی خصوصی یا فهرست‌نشده است، و مقدار پارامتر part درخواست شامل بخش status است، تنظیم حریم خصوصی همه‌فرستی به هر مقداری که در بدنه درخواست مشخص شده است به‌روزرسانی خواهد شد. اگر بدنه درخواست مقداری را مشخص نکند، تنظیم حریم خصوصی موجود برداشته می‌شود و همه‌فرستی به تنظیم حریم خصوصی پیش‌فرض برمی‌گردد.
پارامترهای اختیاری
onBehalfOfContentOwner string
این پارامتر فقط در درخواست‌های مجاز قابل‌استفاده است.
توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است.

پارامتر onBehalfOfContentOwner نشان می‌دهد که اطلاعات اعتباری مجوز درخواست، کاربر «سیستم مدیریت محتوای YouTube» (CMS) را که ازطرف مالک محتوای مشخص‌شده در مقدار پارامتر عمل می‌کند شناسایی می‌کند. این پارامتر برای شرکای محتوای YouTube است که مالک و مدیر کانال‌های مختلف YouTube هستند. این ویژگی به مالکان محتوا امکان می‌دهد یک‌بار اصالت‌سنجی کنند و به تمام داده‌های ویدیو و کانال خود دسترسی پیدا کنند، بدون اینکه نیاز باشد برای هر کانال جداگانه اطلاعات اصالت‌سنجی ارائه دهند. حساب CMS که کاربر با آن اصالت‌سنجی می‌کند باید به مالک محتوای YouTube مشخص‌شده پیوند داده شود.
onBehalfOfContentOwnerChannel string
از این پارامتر فقط می‌توان در درخواست مجاز مناسب استفاده کرد.
توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است.

پارامتر onBehalfOfContentOwnerChannel شناسه کانال YouTube را برای کانالی که ویدیو به آن اضافه می‌شود مشخص می‌کند. این پارامتر زمانی لازم است که درخواستی مقداری را برای پارامتر onBehalfOfContentOwner مشخص کند و فقط می‌تواند همراه با آن پارامتر استفاده شود. علاوه‌براین، درخواست باید بااستفاده از حساب CMS که به مالک محتوای مشخص‌شده توسط پارامتر onBehalfOfContentOwner پیوند داده شده است، مجاز شود. درنهایت، کانالی که مقدار پارامتر onBehalfOfContentOwnerChannel مشخص می‌کند باید به مالک محتوایی که پارامتر 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

    اگر درخواست به‌روزرسانی ارسال می‌کنید و درخواستتان مقداری را برای ویژگی‌ای که ازقبل مقدار دارد مشخص نمی‌کند، مقدار موجود ویژگی حذف خواهد شد.

پاسخ

درصورت موفقیت، این روش یک منبع پخش زنده را در بدنه پاسخ برمی‌گرداند.

خطاها

جدول زیر پیام‌های خطایی را که ممکن است 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» قابل تنظیم است.
  • همه‌فرستی زنده نیست.
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 می‌تواند حداکثر ۵۰۰۰ نویسه داشته باشد.
invalidValue (400) invalidEmbedSetting منبع liveBroadcast مقدار نامعتبری برای دارایی contentDetails.enable_embed دارد. نمی‌توانید این همه‌فرستی را جاسازی کنید.
invalidValue (400) invalidEnableClosedCaptions در منبع پخش زنده، مقدار دارایی contentDetails.enableClosedCaptions با مقدار تنظیم contentDetails.closedCaptionType ناسازگار است. منبع را به‌گونه‌ای اصلاح کنید که فقط یکی از این دو ویژگی را داشته باشد، سپس درخواست را دوباره ارسال کنید.
invalidValue (400) invalidLatencyPreferenceOptions منبع liveBroadcast حاوی مقدار نامعتبری برای ویژگی contentDetails.latencyPreference بود. همه تنظیمات با این اولویت تأخیر پشتیبانی نمی‌شوند.
invalidValue (400) invalidEligibleForAdsMonetization ‫eligible_for_ads_monetization فقط خواندنی است و نمی‌توان آن را در فیلد monetization_details مشخص کرد.
invalidValue (400) invalidCuepointSchedule منبع liveBroadcast حاوی مقدار نامعتبری برای ویژگی monetizationDetails.cuepointSchedule است. این خطا می‌تواند به دلایل زیر رخ دهد:
  • اگر ads_monetization_status برابر با OFF باشد، نمی‌توانید cuepoint_schedule را مشخص کنید.
  • اگر ads_monetization_status برابر با ON باشد، cuepoint_schedule باید مشخص شود.
اگر ads_monetization_status خاموش باشد، cuepoint_schedule را نمی‌توان مشخص کرد.
invalidValue (400) invalidEnabled منبع liveBroadcast حاوی مقدار نامعتبر یا متضاد برای دارایی monetizationDetails.cuepointSchedule.enabled است. این خطا ممکن است به دلایل زیر رخ دهد:
  • enabled باید در فیلد cuepoint_schedule مشخص شود.
  • اگر enabled نادرست باشد، pause_ads_until، yt_optimized_cuepoint_config، یا creator_cuepoint_config را نمی‌توان مشخص کرد.
  • اگر enabled درست باشد، فقط یکی از yt_optimized_cuepoint_config و creator_cuepoint_config می‌تواند مشخص شود.
invalidValue (400) invalidCreatorCuepointConfig باید هم schedule_strategy و هم repeat_interval_secs را مشخص کنید.
invalidValue (400) invalidRepeatIntervalSecs مقدار دارایی repeat_interval_secs باید در محدوده [۳۶۰، ۳۶۰۰] باشد.
invalidValue (400) invalidPauseAdsUntil منبع liveBroadcast حاوی مقدار نامعتبر برای دارایی monetizationDetails.cuepointSchedule.pauseAdsUntil است. این خطا می‌تواند به دلایل زیر رخ دهد:
  • مقدار monetizationDetails.cuepointSchedule.pauseAdsUntil در قالب ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) مشخص نشده است.
  • مقدار monetizationDetails.cuepointSchedule.pauseAdsUntil در آینده نیست.
  • مقدار monetizationDetails.cuepointSchedule.pauseAdsUntil بیشتر از ۱۰ دقیقه با زمان فعلی فاصله دارد.
invalidValue (400) invalidPrivacyStatus منبع liveBroadcast وضعیت حریم خصوصی معتبری را مشخص نکرده است. مقادیر privacyStatus معتبر را ببینید.
invalidValue (400) invalidProjection منبع liveBroadcast مقدار نامعتبری برای دارایی contentDetails.projection دارد. طرح‌ریزی پخش مداوم را نمی‌توان روی ۳۶۰ تنظیم کرد.
invalidValue (400) invalidScheduledEndTime منبع liveBroadcast حاوی مقدار نامعتبری برای ویژگی snippet.scheduledEndTime بود. زمان پایان زمان‌بندی‌شده باید بعداز زمان شروع زمان‌بندی‌شده باشد.
invalidValue (400) invalidScheduledStartTime منبع liveBroadcast حاوی مقدار نامعتبری برای ویژگی snippet.scheduledStartTime بود. زمان شروع زمان‌بندی‌شده باید در آینده باشد.
invalidValue (400) invalidTitle منبع liveBroadcast مقدار معتبری برای ویژگی snippet.title مشخص نکرده است. snippet.title باید بین ۱ تا ۱۰۰ نویسه داشته باشد.
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 استفاده کنید.