یک نقطه نشان در یک همهفرستی زنده درج میکند. نقطه نشانه ممکن است وقفه آگهی را راهاندازی کند.
توجه: این روش جایگزین روش
liveCuepoints.insert
میشود که در آن درخواستها باید توسط حسابی که به یک مالک محتوای YouTube
منسوب است، تأیید شوند. این روش الزامات مجوز یکسانی ندارد.
درخواست
درخواست HTTP
POST https://www.googleapis.com/youtube/v3/liveBroadcasts/cuepoint
صدور مجوز
این درخواست به مجوز با حداقل یکی از دامنههای زیر نیاز دارد. برای کسب اطلاعات بیشتر درباره اصالتسنجی و صدور مجوز، به پیادهسازی اصالتسنجی OAuth 2.0 مراجعه کنید.
| حوزه |
|---|
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
https://www.googleapis.com/auth/youtubepartner |
پارامترها
جدول زیر پارامترهایی را که این پُرسمان پشتیبانی میکند فهرست میکند. همه پارامترهای فهرستشده، پارامترهای پُرسمان هستند.
| پارامترها | ||
|---|---|---|
| پارامترهای الزامی | ||
id |
stringپارامتر id همهفرستیای را که
نقطه راهنما در آن درج میشود شناسایی میکند. هنگام درج نقطه نشانه، همهفرستی باید بهطور فعال درحال جاریسازی باشد. |
|
| پارامترهای اختیاری | ||
onBehalfOfContentOwner |
stringاز این پارامتر فقط میتوان در درخواست مجاز استفاده کرد. توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است که مالک و مدیر بسیاری از کانالهای مختلف YouTube هستند. این ویژگی به مالکان محتوا اجازه میدهد یکبار اصالتسنجی کنند و کنشهایی را ازطرف کانال مشخصشده در مقدار پارامتر انجام دهند، بدون اینکه نیاز باشد برای هر کانال جداگانه اطلاعات اعتباری اصالتسنجی ارائه دهند. حسابی که کاربر با آن اصالتسنجی میکند باید به مالک محتوای YouTube مشخصشده پیوند داده شود.
پارامتر onBehalfOfContentOwner نشان میدهد که
اطلاعات اعتباری مجوز درخواست، کاربر YouTube را که ازطرف
«مالک محتوای YouTube» مشخصشده در مقدار پارامتر عمل میکند شناسایی میکند. این پارامتر برای شرکای محتوای YouTube است که مالک و مدیر کانالهای مختلف YouTube هستند.
|
|
onBehalfOfContentOwnerChannel |
stringاز این پارامتر فقط میتوان در درخواست مجاز استفاده کرد. توجه: این پارامتر منحصراً برای شرکای محتوای YouTube درنظر گرفته شده است که مالک و مدیر بسیاری از کانالهای YouTube مختلف هستند. این پارامتر به مالکان محتوا اجازه میدهد یکبار اصالتسنجی کنند و ازطرف کانال مشخصشده در مقدار پارامتر اقداماتی را انجام دهند، بدون اینکه نیاز باشد برای هر کانال جداگانه اعتبارنامههای اصالتسنجی ارائه دهند.
پارامتر onBehalfOfContentOwnerChannel شناسه کانال YouTube کانال مرتبط با پخشی را که نقطه نشانه در آن درج میشود مشخص میکند. این پارامتر زمانی الزامی است که درخواستی مقداری را برای پارامتر onBehalfOfContentOwner مشخص کند و فقط میتواند همراه با آن پارامتر استفاده شود. الزامات زیر نیز اعمال میشود:
|
|
متن درخواست
منبع cuepoint را در بدنه درخواست ارائه دهید. ساختار JSON زیر قالب منبع cuepoint را نشان میدهد:
{
"id": string,
"insertionOffsetTimeMs": long,
"walltimeMs": datetime,
"durationSecs": unsigned integer,
"cueType": string
}cueType الزامی است و باید روی
cueTypeAd تنظیم شود.
همچنین میتوانید برای این ویژگیها مقدار تنظیم کنید:
durationSecsinsertionOffsetTimeMs(اگرwalltimeMsتنظیم شده باشد، نباید تنظیم شود)-
walltimeMs(اگرinsertionOffsetTimeMsتنظیم شده باشد نباید تنظیم شود)
مشخصات
جدول زیر خصوصیات نشاندادهشده در این منبع را تعریف میکند:
| مشخصات | |
|---|---|
id |
stringمقداری که YouTube برای شناسایی منحصربهفرد نقطه نشانگر اختصاص میدهد. توجه داشته باشید که این مقدار با پارامتر الزامی id که
پخش زنده را شناسایی میکند متفاوت است. این مقدار را میتوان هنگام ارسال درخواست برای درج
نقطه راهنما حذف کرد. مقدار در پاسخ API تکمیل خواهد شد.
|
insertionOffsetTimeMs |
longمقدار ویژگی، زمان انحراف را برحسب میلیثانیه مشخص میکند که نقطه راهنما باید در آن درج شود. این مقدار از ابتدای جریان مانیتور اندازهگیری میشود و مقدار پیشفرض آن 0 است که نشان میدهد نقطه نشان باید در اسرع وقت درج شود. اگر همهفرستی شما جاریسازی پایش ندارد، نباید مقداری برای این پارامتر مشخص کنید.
اگرچه این مقدار برحسب میلیثانیه اندازهگیری میشود، اما درواقع تقریبی است و YouTube نقطه نشان را تا حد امکان نزدیک به آن زمان درج خواهد کرد. مقادیر غیرصفر برای این فیلد فقط درصورتی پشتیبانی میشوند که جاریسازی همهفرستی با تأخیر باشد. اگر جاریسازی همهفرستی شما تأخیر ندارد، تنها مقدار معتبر 0 است.
برای جزئیات بیشتر، به شروع به کار مراجعه کنید.
توجه: اگر همهفرستی شما فاز آزمایشی داشته باشد، انحراف از زمانی که فاز آزمایشی شروع شده است اندازهگیری میشود. اگر درخواستی سعی کند یک نقطه نشانه را درج کند که مقداری را برای این دارایی و دارایی walltimeMs مشخص میکند،
میانای برنامهسازی کاربردی خطا برمیگرداند.
|
walltimeMs |
integerمقدار ویژگی، زمان ساعت دیواری را که نقطه راهنما باید در آن درج شود مشخص میکند. این مقدار یک عدد صحیح است که نشاندهنده مُهر زمان دوره (به میلیثانیه) است. اگر در درخواستی سعی شود یک نقطه اشارهای درج شود که مقداری را برای این دارایی و برای دارایی insertionOffsetTimeMs مشخص میکند، API خطا برمیگرداند. |
durationSecs |
unsigned integerمدتزمان نقطه نشانه، برحسب ثانیه. مقدار باید عدد صحیح مثبت باشد. مقدار پیشفرض 30 است. |
cueType |
stringنوع نقطه نشانه. مقدار دارایی باید روی cueTypeAd تنظیم شود.
|
پاسخ
درصورت موفقیت، این روش منبع
cuepoint درجشده را در بدنه پاسخ برمیگرداند.
خطاها
جدول زیر پیامهای خطایی را که ممکن است «میانای برنامهسازی کاربردی» در پاسخ به فراخوانی این روش برگرداند مشخص میکند. برای جزئیات بیشتر، به YouTube Live Streaming API - Errors مراجعه کنید.
| نوع خطا | جزئیات خطا | شرح |
|---|---|---|
insufficientPermissions (403) |
insufficientLivePermissions |
درخواست اجازه ندارد نقطه نشان را در همهفرستی زنده درج کند. |
insufficientPermissions (403) |
liveStreamingNotEnabled |
کاربری که درخواست را مجاز کرده است برای جاریسازی ویدیو زنده در YouTube فعال نیست. کاربر میتواند اطلاعات بیشتر را در شروع کردن جاریسازی زنده و واجدشرایط بودن برای ویژگی پیدا کند. |
rateLimitExceeded (403) |
userRequestsExceedRateLimit |
کاربر در بازه زمانی مشخصی درخواستهای زیادی ارسال کرده است. |
required (400) |
idRequired |
پارامتر الزامی id باید همهفرستیای را که میخواهید نقطه نشان در آن درج کنید شناسایی کند. |
required (400) |
cueTypeRequired |
فیلد الزامی cueType باید در
بدنه درخواست API مشخص شود. |
notFound (404) |
liveBroadcastNotFound |
همهفرستی مشخصشده توسط پارامتر id وجود ندارد. |
invalidValue (400) |
conflictingTimeFields |
فقط یکی از insertionOffsetTimeMs و
walltimeMs را میتوان مشخص کرد. تنظیم هر دو مقدار باعث بروز خطا میشود. اگر هیچکدام از این مقادیر را تنظیم نکنید، YouTube از زمان پیشفرض insertionOffsetTimeMs (0) استفاده خواهد کرد، یعنی نقطه راهنما در اولین فرصت ممکن درج خواهد شد. |
invalidValue (400) |
invalidInsertionOffsetTimeMs |
منبع cuepoint مقدار نامعتبری برای دارایی
insertionOffsetTimeMs مشخص کرده است. مقدار باید 0 یا عدد صحیح مثبت باشد. |
invalidValue (400) |
invalidWalltimeMs |
منبع cuepoint مقدار نامعتبری برای ویژگی walltimeMs مشخص کرده است. مقدار باید عدد صحیحی باشد که نشاندهنده مُهر زمان (به میلیثانیه) باشد. |
backendError (5xx) |
serviceUnavailable |
سرویس دردسترس نیست. چند دقیقه دیگر درخواستتان را دوباره امتحان کنید. |
امتحان کنید!
برای فراخوانی این API و دیدن درخواست و پاسخ API، از APIs Explorer استفاده کنید.