یک همهفرستی را بهروزرسانی میکند. برای مثال، میتوانید تنظیمات همهفرستی تعریفشده در شیء 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 در بدنه درخواست ارائه دهید. برای آن منبع:
-
باید مقداری برای این داراییها مشخص کنید:
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
اگر درخواست بهروزرسانی ارسال میکنید و درخواستتان مقداری را برای ویژگیای که ازقبل مقدار دارد مشخص نمیکند، مقدار موجود ویژگی حذف خواهد شد.
پاسخ
درصورت موفقیت، این روش یک منبع پخش زنده را در بدنه پاسخ برمیگرداند.
خطاها
جدول زیر پیامهای خطایی را که ممکن است 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 میتواند حداکثر ۵۰۰۰ نویسه داشته باشد. |
|
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 خاموش باشد، cuepoint_schedule را نمیتوان مشخص کرد. |
invalidValue (400) |
invalidEnabled |
منبع liveBroadcast
حاوی مقدار نامعتبر یا متضاد برای
دارایی monetizationDetails.cuepointSchedule.enabled است.
این خطا ممکن است به دلایل زیر رخ دهد:
|
|
invalidValue (400) |
invalidCreatorCuepointConfig |
باید هم schedule_strategy و هم repeat_interval_secs را مشخص کنید. |
|
invalidValue (400) |
invalidRepeatIntervalSecs |
مقدار دارایی repeat_interval_secs باید در محدوده [۳۶۰، ۳۶۰۰] باشد. |
|
invalidValue (400) |
invalidPauseAdsUntil |
منبع liveBroadcast
حاوی مقدار نامعتبر برای
دارایی 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. را مشخص نکرده است. |
|
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 استفاده کنید.