LiveBroadcasts: transition

وضعیت یک همه‌فرستی زنده YouTube را تغییر می‌دهد و هر فرایندی را که با وضعیت جدید مرتبط است آغاز می‌کند. برای مثال، وقتی وضعیت همه‌فرستی را به testing تغییر می‌دهید، YouTube شروع به انتقال ویدیو به جاری‌سازی مانیتور آن همه‌فرستی می‌کند. قبل‌از فراخوانی این روش، باید تأیید کنید که مقدار ویژگی status.streamStatus برای جاری‌سازی محدود به همه‌فرستی شما active است.

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

درخواست

درخواست HTTP

POST https://www.googleapis.com/youtube/v3/liveBroadcasts/transition

صدور مجوز

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

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

پارامترها

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

پارامترها
پارامترهای الزامی
broadcastStatus string
پارامتر broadcastStatus وضعیتی را که همه‌فرستی به آن تغییر می‌کند شناسایی می‌کند. توجه داشته باشید که برای انتقال یک پخش به حالت testing یا live، status.streamStatus باید برای جریانی که پخش به آن محدود شده است، active باشد.

مقادیر قابل قبول عبارتند از:
  • complete – همه‌فرستی تمام شده است. ‫YouTube انتقال ویدیو را متوقف می‌کند.
  • live – پخش زنده برای مخاطبان آن قابل مشاهده است. YouTube ویدیو را به جاری‌سازی نظارت بر همه‌فرستی و جاری‌سازی همه‌فرستی آن منتقل می‌کند.
  • testing – آزمایش همه‌فرستی را شروع کنید. ‫YouTube ویدیو را به جاری‌سازی مانیتور همه‌فرستی منتقل می‌کند. توجه داشته باشید که فقط درصورتی می‌توانید همه‌فرستی را به حالت testing انتقال دهید که ویژگی contentDetails.monitorStream.enableMonitorStream آن روی true تنظیم شده باشد.
id string
پارامتر id شناسه یکتای همه‌فرستی را که درحال انتقال به وضعیت دیگری است مشخص می‌کند.
part string
پارامتر part فهرستی از یک یا چند دارایی منبع liveBroadcast را مشخص می‌کند که با کاما از هم جدا شده‌اند و پاسخ «میانای برنامه‌سازی کاربردی» شامل آن‌ها خواهد بود. نام‌های part که می‌توانید در مقدار پارامتر بگنجانید عبارت‌اند از id، snippet، contentDetails، و status.
پارامترهای اختیاری
onBehalfOfContentOwner string
این پارامتر فقط در درخواست مجاز مناسب قابل‌استفاده است.

توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است.

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

توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است.

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

این پارامتر برای شرکای محتوای YouTube درنظر گرفته شده است که مالک کانال‌های YouTube مختلفی هستند و آن‌ها را مدیریت می‌کنند. این پارامتر به مالکان محتوا اجازه می‌دهد یک‌بار اصالت‌سنجی کنند و ازطرف کانال مشخص‌شده در مقدار پارامتر اقداماتی را انجام دهند، بدون اینکه نیاز باشد برای هر کانال جداگانه اعتبارنامه‌های اصالت‌سنجی ارائه دهند.

متن درخواست

هنگام فراخوانی این روش، بدنه درخواست ارائه نکنید.

پاسخ

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

خطاها

جدول زیر پیام‌های خطایی را که ممکن است «میانای برنامه‌سازی کاربردی» در پاسخ به فراخوانی این روش برگرداند مشخص می‌کند. برای جزئیات بیشتر، به YouTube Live Streaming API - Errors مراجعه کنید.

نوع خطا جزئیات خطا شرح
backendError errorExecutingTransition هنگام تغییر وضعیت همه‌فرستی خطایی روی داد.
forbidden (403) errorStreamInactive وقتی جاری‌سازی‌ای که به همه‌فرستی محدود شده است غیرفعال باشد، انتقال درخواست‌شده مجاز نیست.
forbidden (403) invalidTransition پخش زنده نمی‌تواند از وضعیت فعلی به وضعیت درخواستی تغییر کند.
forbidden (403) redundantTransition پخش زنده درحال‌حاضر در وضعیت درخواستی است یا درحال پردازش برای رسیدن به وضعیت درخواستی است.
insufficientPermissions insufficientLivePermissions درخواست برای انتقال همه‌فرستی زنده مجاز نیست.
insufficientPermissions livePermissionBlocked کاربری که درخواست را مجاز کرده است درحال‌حاضر نمی‌تواند ویدیو زنده در YouTube جاری‌سازی کند. برای جزئیات توضیح‌دهنده اینکه چرا کاربر نمی‌تواند ویدیو زنده جاری‌سازی کند، به تنظیمات کانال کاربر در واجدشرایط بودن برای ویژگی مراجعه کنید.
insufficientPermissions liveStreamingNotEnabled کاربری که درخواست را مجاز کرده است، برای جاری‌سازی ویدیو زنده در YouTube فعال نیست. برای اطلاعات بیشتر، به واجدشرایط بودن برای ویژگی مراجعه کنید.
notFound (404) liveBroadcastNotFound پخش زنده مشخص‌شده توسط پارامتر id وجود ندارد.
rateLimitExceeded (403) userRequestsExceedRateLimit کاربر در بازه زمانی مشخصی درخواست‌های زیادی ارسال کرده است.
rateLimitExceeded (403) concurrentBroadcastsExceedLimit این کانال درحال‌حاضر حداکثر تعداد پخش زنده همزمان را دارد. قبل‌از اینکه همه‌فرستی دیگری در کانال شروع شود، یک یا چند همه‌فرستی که درحال‌حاضر زنده هستند باید متوقف شوند.
rateLimitExceeded (403) sharedIngestionBroadcastsExceedLimit کانال درحال‌حاضر دارای حداکثر تعداد پخش‌های زنده است که منبع انتقال داده را هم‌رسانی می‌کنند. برای شروع همه‌فرستی درخواست‌شده، یک یا چند همه‌فرستی باید متوقف شود.
required (400) idRequired پارامتر الزامی id باید همه‌فرستی را که می‌خواهید وضعیت آن را تغییر دهید مشخص کند.
required (400) statusRequired درخواست API باید مقداری برای پارامتر status مشخص کند.

امتحان کنید!

از APIs Explorer برای فراخوانی این API و دیدن درخواست و پاسخ API استفاده کنید.