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 إلى أنّ بيانات اعتماد التفويض في الطلب تحدّد مستخدمًا في نظام إدارة المحتوى (CMS) على YouTube يتصرّف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. هذه المَعلمة مخصّصة لشركاء المحتوى على YouTube الذين يملكون ويديرون العديد من قنوات على YouTube المختلفة. وتسمح لمالكي المحتوى بالمصادقة مرة واحدة والوصول إلى جميع بيانات الفيديو والقناة، بدون الحاجة إلى تقديم بيانات اعتماد المصادقة لكل قناة فردية. يجب ربط حساب نظام إدارة المحتوى الذي يصادق المستخدم به بمالك المحتوى المحدّد على YouTube.
onBehalfOfContentOwnerChannel string
لا يمكن استخدام هذه المَعلمة إلا في طلب مُفوَّض بشكل صحيح.
ملاحظة: هذه المَعلمة مخصّصة حصريًا لشركاء المحتوى على YouTube.

تحدّد مَعلمة onBehalfOfContentOwnerChannel رقم تعريف قناة YouTube التي تتم إضافة فيديو إليها. تكون هذه المَعلمة مطلوبة عندما يحدّد الطلب قيمة لمَعلمة onBehalfOfContentOwner، ولا يمكن استخدامها إلا مع هذه المَعلمة. بالإضافة إلى ذلك، يجب تفويض الطلب باستخدام حساب على نظام إدارة المحتوى مرتبط بمالك المحتوى الذي تحدّده مَعلمة 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

    إذا كنت تُرسِل طلب تعديل ولم يحدّد طلبك قيمة لسمة لها قيمة حالية، سيتم حذف القيمة الحالية للسمة.

الردّ

إذا نجحت هذه الطريقة، ستعرض مورد liveBroadcast في نص الردّ.

الأخطاء

يحدّد الجدول التالي رسائل الخطأ التي يمكن أن تعرضها واجهة برمجة التطبيقات ردًا على طلب هذه الطريقة. لمزيد من التفاصيل، يُرجى الاطّلاع على رسالة الخطأ.

نوع الخطأ تفاصيل الخطأ الوصف
backendError (503) backendError لا يمكن تطبيق بعض الإعدادات بعد. من المرجّح أنّ ذلك يعود إلى أنّ البث تم إنشاؤه للتو. يُرجى إعادة المحاولة بعد بضع ثوانٍ.
forbidden (403) closedCaptionsTypeModificationNotAllowed لا يمكن تعديل قيمة contentDetails.closedCaptionsType إلا عندما تكون حالة البث created أو ready.
forbidden (403) monetizationDetailsModificationNotAllowed لا يمكن للقنوات التي ليست جزءًا من "برنامج شركاء YouTube" تعديل 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 على ما يصل إلى 5000 حرف.
invalidValue (400) invalidEmbedSetting احتوى مورد liveBroadcast على قيمة غير صالحة للسمة contentDetails.enable_embed. لا يمكنك تضمين هذا البث.
invalidValue (400) invalidEnableClosedCaptions في مورد liveBroadcast، لا تتوافق قيمة السمة 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. يمكن أن يحدث هذا الخطأ للأسباب التالية:
  • لا يمكن تحديد cuepoint_schedule إذا كانت ads_monetization_status هي OFF.
  • يجب تحديد cuepoint_schedule إذا كانت ads_monetization_status هي ON.
لا يمكن تحديد cuepoint_schedule إذا كانت ads_monetization_status هي OFF.
invalidValue (400) invalidEnabled يحتوي مورد liveBroadcast على قيمة غير صالحة أو متعارضة للسمة monetizationDetails.cuepointSchedule.enabled. يمكن أن يحدث هذا الخطأ للأسباب التالية:
  • يجب تحديد enabled في الحقل cuepoint_schedule.
  • لا يمكن تحديد pause_ads_until أو yt_optimized_cuepoint_config أو creator_cuepoint_config إذا كانت enabled هي false.
  • لا يمكن تحديد سوى إحدى السمتَين yt_optimized_cuepoint_config وcreator_cuepoint_config إذا كانت enabled هي true.
invalidValue (400) invalidCreatorCuepointConfig يجب تحديد كل من schedule_strategy وrepeat_interval_secs.
invalidValue (400) invalidRepeatIntervalSecs يجب أن تكون قيمة السمة repeat_interval_secs ضمن النطاق [360, 3600].
invalidValue (400) invalidPauseAdsUntil يحتوي مورد liveBroadcast على قيمة غير صالحة للسمة monetizationDetails.cuepointSchedule.pauseAdsUntil. يمكن أن يحدث هذا الخطأ للأسباب التالية:
  • لم يتم تحديد قيمة monetizationDetails.cuepointSchedule.pauseAdsUntil بتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
  • قيمة monetizationDetails.cuepointSchedule.pauseAdsUntil ليست في المستقبل.
  • قيمة monetizationDetails.cuepointSchedule.pauseAdsUntil أبعد من 10 دقائق عن الوقت الحالي.
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 بين حرف واحد و100 حرف.
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 لاستدعاء واجهة برمجة التطبيقات هذه والاطّلاع على طلب بيانات من واجهة برمجة التطبيقات واستجابتها.