واجهة برمجة تطبيقات البث المباشر على YouTube - سجل المراجعة

تعرض هذه الصفحة التغييرات التي تم إجراؤها على YouTube Live Streaming API والتعديلات التي تم إجراؤها على المستندات.

‫12 أكتوبر 2026

يتضمّن هذا التحديث التغييرات التالية:

‫18 أغسطس 2026

يتضمّن هذا التحديث التغييرات التالية:

  • تم تعديل مستندات طريقة liveBroadcasts.update لتشمل أخطاء جديدة متعلقة بتحقيق الربح: preconditionFailed (412) (السبب: videoNotEligibleForAdsMonetization) وbackendError (503) (السبب: backendError).

‫17 أغسطس 2026

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح لك السمة الجديدة snippet.categoryId في المورد liveBroadcast ضبط فئة الفيديو المرتبطة ببث مباشر وتعديلها واستردادها.

‫20 يوليو 2026

يتضمّن هذا التحديث التغييرات التالية:

‫9 يوليو 2026

يتضمّن هذا التحديث التغييرات التالية:

‫1 يونيو 2026

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح لك السمة contentDetails.availabilityConfig في المورد liveBroadcast تحديد القيود الجغرافية لبث مباشر، ما يتيح لك إدارة مدى توفّر الأحداث المباشرة في مناطق معيّنة.

‫26 مارس 2026

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح السمة snippet.type الآن القيمة الجديدة giftEvent.

  • يحتوي المورد liveChatMessage على السمة الجديدة snippet.giftEventDetails وعناصرها الفرعية التي تتضمّن معلومات عن حدث الهدية.

‫12 يناير 2026

تتيح واجهة برمجة التطبيقات الآن تفعيل "الإعلانات أثناء التشغيل" وإدراجها تلقائيًا في أحداث البث المباشر.

يمكن لمالك البث اختيار تفعيل "الإعلانات أثناء التشغيل" في البث طالما أنّ البث مؤهّل لعرض هذه الإعلانات. ويمكن للمالك أيضًا إيقاف "الإعلانات أثناء التشغيل" في أي وقت.

إذا كان البث مؤهلاً لعرض "الإعلانات أثناء التشغيل"، يمكن لمالك البث تفعيل ميزة الإدراج التلقائي لهذه الإعلانات. ويمكنهم أيضًا إيقاف الإعلانات الآلية لبث معيّن في أي وقت.

عندما يفعّل مالك البث الإعلانات المبرمَجة، يمكنه تحديد أحد الخيارات التالية:

  • السماح لـ YouTube بتحسين إدراج "الإعلانات أثناء التشغيل" يتيح هذا الخيار ثلاثة أوضاع:
    • منخفض: إمكانية تحقيق نسبة أقل من الأرباح، وتقديم تجربة مشاهدة أقلّ تقطُّعًا
    • متوسط: إمكانية تحقيق مقدار متوسط من الأرباح، وتقديم تجربة مشاهدة متوازنة
    • مرتفع: إمكانية تحقيق نسبة أعلى من الأرباح، وتقديم تجربة مشاهدة أكثر تقطُّعًا
  • اضبطوا يدويًا استراتيجية إدراج "الإعلانات أثناء التشغيل" والفواصل الزمنية بينها. في هذه الحالة، على المالك إعداد مَعلمتَين:
    1. استراتيجية جدولة نقاط الإعلان يمكن إدراج نقاط الإشارة في الوقت نفسه لجميع المشاهدين، أو يمكن أن يختلف توقيت نقاط الإشارة من مشاهد إلى آخر. تتيح الاستراتيجية الأخيرة لمنصة YouTube جدولة نقاط الإشارة بمعدّل أعلى، ما يتيح للمشاهدين تلقّي نقاط الإشارة عندما يكونون مؤهّلين لذلك.
    2. طول الفترة الزمنية بين الفواصل الإعلانية أثناء التشغيل

توضّح المستندات التغييرات التالية في واجهة برمجة التطبيقات لإتاحة هذه الميزة:

  • يحتوي الكائن monetizationDetails في المورد liveBroadcast على حقول لتفعيل "الإعلانات أثناء التشغيل" وإعدادات الإعلانات المبرمَجة.
  • يمكن استخدام طريقة update لتفعيل "الإعلانات أثناء التشغيل" أو إيقافها. ويمكن استخدام هذه الطريقة أيضًا لإعداد الإعلانات المبرمَجة لبث مباشر. تحدّد المستندات عدة أخطاء جديدة يمكن أن تحدث عند تعديل إعدادات تحقيق الربح وإعدادات الإعلانات المبرمَجة لبث مباشر.

‫14 يوليو 2025

تم تعديل وصف طريقة liveChatMessages.streamList لتقديم إرشادات حول استخدامات واجهة برمجة التطبيقات streamList.

‫9 أكتوبر 2023

للاطّلاع على معرّفات الملصقات المرتبطة بملصقات Super Stickers، يمكنك مراجعة ملف CSV هذا. تم تعديل تعريفات السمة snippet.superStickerDetails.superStickerMetadata.stickerId لمورد liveChatMessage والسمة snippet.superStickerMetadata.stickerId لمورد superChatEvent لتعكس هذه المعلومات.

‫15 سبتمبر 2023

تتيح واجهة برمجة التطبيقات الآن طريقة جديدة لإدراج الإعلانات في أحداث البث المباشر. بالإضافة إلى liveCuepoints التي تتيح لك إدراج فواصل إعلانية يدويًا في البث، يتيح YouTube الآن ميزة لإدراج فواصل إعلانية أثناء التشغيل تلقائيًا في البث على فترات زمنية ثابتة.

إذا فعّل مالك البث الإعلانات المبرمَجة، يمكنه الاطّلاع على الجوانب التالية من سلوك الإعلانات:

  • طول الفاصل الزمني بين الفواصل الإعلانية أثناء التشغيل
  • استراتيجية جدولة نقاط الإعلان يمكن إدراج نقاط الإشارة في الوقت نفسه لجميع المشاهدين، أو يمكن أن يختلف توقيت نقاط الإشارة من مشاهد إلى آخر. تتيح الاستراتيجية الأخيرة لمنصة YouTube جدولة نقاط الإشارة بمعدّل أعلى، ما يتيح للمشاهدين تلقّي نقاط الإشارة عندما يكونون مؤهّلين لذلك.
  • هي فترة لا يتم خلالها عرض "الإعلانات أثناء التشغيل". في هذه الميزة، يحدّد مالك البث أنّه سيتم إيقاف إدراج "الإعلانات أثناء التشغيل" مؤقتًا حتى وقت معيّن.

توضّح المستندات التغييرات التالية في واجهة برمجة التطبيقات لإتاحة هذه الميزة:

  • يحتوي مورد liveBroadcast الآن على عنصر monetizationDetails . تشير حقول العنصر إلى ما إذا كان الإدراج التلقائي للإعلانات مفعّلاً للبث، وتحدّد معلومات إضافية لجدولة نقاط الإشارة.
  • تتيح المَعلمة part في الطريقة liveBroadcast.list استخدام القيمة monetizationDetails.
  • يمكن استخدام طريقة update لإيقاف إدراج "الإعلانات أثناء التشغيل" مؤقتًا لفترة معيّنة في بث مباشر. تحدّد المستندات الآن أيضًا أخطاء متعدّدة يمكن أن تحدث عند تعديل تفاصيل تحقيق الربح من بث مباشر.

1 أغسطس 2023

يتضمّن هذا التحديث التغييرات التالية:

  • لم تعُد طريقة liveBroadcasts.update تتطلّب تحديد قيم للحقول التالية:

    • snippet.title
    • status.privacyStatus

    سيؤدي حذف هذه الحقول من الطلب إلى تركها بدون تغيير.

1 تشرين الثاني (نوفمبر) 2022

  • تتيح طريقة liveBroadcasts.cuepoint الجديدة لأي مالك قناة يبثّ محتوًى مباشرًا على YouTube إدراج نقاط إشارة في هذا البث، ما قد يؤدي إلى عرض فواصل إعلانية. تحلّ هذه الطريقة محلّ الطريقة liveCuepoints.insert التي كانت تتيح لشركاء المحتوى في YouTube فقط إدراج نقاط الإشارة في أحداث البث المباشر.

    تم تعديل العديد من الأدلة لتوضيح مدى توفّر هذه الطريقة الجديدة.

  • ملاحظة: هذا إشعار عن الإيقاف النهائي.

    تم إيقاف طريقة liveCuepoints.insert نهائيًا. ستتم إزالة طريقة liveCuepoints.insert في 1 مايو 2023 أو بعد هذا التاريخ. وعلى مستخدمي واجهة برمجة التطبيقات تحديث تطبيقاتهم لاستدعاء الطريقة liveBroadcasts.cuepoint بدلاً من ذلك.

  • تمت إزالة المستندات الخاصة بطريقة liveBroadcasts.control. وقد تم نشر إشعار بإيقاف هذه الطريقة نهائيًا في سبتمبر 2020.

‫1 أكتوبر 2022

يتضمّن هذا التحديث التغييرات التالية:

  • لم تعُد طريقة liveBroadcasts.update تتطلّب تحديد قيم للحقول التالية:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    سيؤدي حذف هذه الحقول من الطلب إلى تركها بدون تغيير.

  • تمت إزالة المستندات المتعلّقة بحقول liveBroadcast القديمة:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

‫1 أبريل 2022

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح السمة snippet.type الآن استخدام قيمتَين جديدتَين:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • يحتوي المورد liveChatMessage على السمة الجديدة snippet.membershipGiftingDetails وعناصرها الفرعية التي تتضمّن معلومات حول حدث "إهداء عضوية". وبالمثل، تحتوي السمة الجديدة snippet.giftMembershipReceivedDetails والسمات الفرعية التابعة لها على معلومات حول حدث "تلقّي عضوية مقدَّمة كهدية".

‫15 سبتمبر 2021

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح السمة snippet.type الآن استخدام قيمتَين جديدتَين:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • يحتوي المرجع liveChatMessage على السمة الجديدة snippet.memberMilestoneChatDetails وعناصرها الفرعية التي تتضمّن معلومات عن حدث رسالة المحادثة المميّزة الخاصة بالأعضاء. وبالمثل، تحتوي السمة الجديدة snippet.newSponsorDetails والسمات الفرعية التابعة لها على معلومات عن فعالية "الراعي الجديد".

1 كانون الأول (ديسمبر) 2020

تتيح طريقة liveBroadcasts.transition في واجهة برمجة التطبيقات عرض خطأ 403 (Forbidden) جديد يشير إلى أنّ المستخدم قد أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني معيّن. سبب الخطأ هو userRequestsExceedRateLimit.

21 أيلول (سبتمبر) 2020

  • تم تعديل تعريف السمة status.madeForKids لمورد liveBroadcast لتوضيح أنّ السمة مخصّصة للقراءة فقط. ولا يعكس ذلك تغييرًا في وظائف واجهة برمجة التطبيقات.

    لتصنيف بث مباشر على أنّه موجّه إلى الأطفال، اضبط السمة status.selfDeclaredMadeForKids على true عند استدعاء الطريقة liveBroadcasts.insert لإنشاء البث.

  • ملاحظة: يتضمّن هذا التغيير إشعارًا بالإيقاف النهائي وتعديلاً على إشعار سابق بالإيقاف النهائي.

    سيتم إيقاف طريقة liveBroadcasts.control نهائيًا في 1 أكتوبر 2020 أو بعد ذلك. بعد هذا التاريخ، ستؤدي جميع الطلبات المرسَلة إلى هذه الطريقة إلى ظهور خطأ "محظور" (403)، وستتم إزالة الطريقة بالكامل لاحقًا. لا يزال بإمكان العملاء تنفيذ لوحاتهم الخاصة من خلال إضافة تراكب إلى الفيديو المرسل إلى خوادم نقل البيانات في YouTube.

    تم تأجيل تاريخ الإيقاف النهائي الذي تم تحديده في إشعار الإيقاف النهائي الصادر في 16 أبريل 2020، والذي كان من المقرر في الأصل أن يتم في 1 سبتمبر 2020، وسيتم الآن في 1 أكتوبر 2020 أو بعده. وبالتالي، سيتم إيقاف الميزات المضمّنة في إشعار الإيقاف النهائي هذا والطريقة liveBroadcasts.control في الوقت نفسه.

‫17 يوليو 2020

ملاحظة: هذا تعديل على إشعار سابق بشأن الإيقاف النهائي.

اعتبارًا من 17 آب (أغسطس) 2020، لن يعود الحقل cdn.format في المورد liveStream متاحًا، علمًا أنّه تم إيقافه نهائيًا في نيسان (أبريل) 2016. وستتعذّر الطلبات التي لا تزال تستخدم هذا الحقل اعتبارًا من ذلك التاريخ.

إذا كان الرمز لا يزال يستخدم الحقل cdn.format، يجب تعديله لتحديد عدد اللقطات في الثانية والدقة بشكل منفصل، وذلك باستخدام السمتَين cdn.frameRate وcdn.resolution.

6 يوليو 2020

تم تعديل دليل تقديم محتوى YouTube المباشر عبر HLS ليتضمّن بعض التغييرات:

بالإضافة إلى ذلك، تعرض المقارنة الجديدة بين بروتوكولات نقل البيانات بروتوكولات نقل البيانات التي يتيحها YouTube وبرامج الترميز المتوافقة مع كل بروتوكول، فضلاً عن معلومات إضافية حول حالات الاستخدام المناسبة لكل بروتوكول.

‫16 أبريل 2024

يتضمّن هذا التحديث سمة جديدة وإشعارًا بشأن إيقاف سمة نهائيًا:

  • يتيح الآن المورد liveBroadcast استخدام السمة contentDetails.enableAutoStop. تشير السمة إلى ما إذا كان يجب إيقاف البث تلقائيًا بعد دقيقة واحدة تقريبًا من توقّف مالك القناة عن بث الفيديو على البث المباشر المرتبط.

    تم تعديل مستند دورة حياة البث لشرح كيفية تغيُّر العملية المفصّلة لإنشاء حدث مباشر على YouTube وإدارته في حال ضبط السمتَين contentDetails.enableAutoStart أو contentDetails.enableAutoStop على true.

  • ملاحظة: هذا إشعار عن الإيقاف النهائي. ستسري هذه التغييرات في 1 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ. يُشار إلى التاريخ الفعلي الذي تسري فيه التغييرات أدناه باسم تاريخ الإيقاف النهائي.

    يشرح هذا التعديل تغييرًا قد يؤدي إلى عطل. ويؤثر هذا التغيير في تطبيقات عملاء واجهة برمجة التطبيقات التي تستخدم موارد liveStream وliveBroadcast التلقائية للقنوات لبث المحتوى المباشر على YouTube. وبشكل خاص، لن يعود بإمكانك استخدام معرّف البث ومعرّف مصدر البيانات المرتبطَين بالبث ومصدر البيانات الدائمَين لبدء أحداث بث جديدة.

    سيتأثر تطبيقك في حال استيفاء أيّ من الشروط التالية:

    • وتتحقّق من قيمة السمة isDefaultBroadcast لمورد liveBroadcast. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي.
    • وتتحقّق من قيمة السمة isDefaultStream لمورد liveStream. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي.
    • يستدعي هذا الطلب الطريقة liveBroadcasts.list ويضبط قيمة المَعلمة broadcastType على persistent أو all. سيتم إيقاف هذه المَعلمة نهائيًا كجزء من هذه التغييرات. اعتبارًا من تاريخ الإيقاف النهائي:
      • إذا كانت قيمة المَعلمة broadcastType هي persistent، لن تعرض الطريقة liveBroadcasts.list أي نتائج.
      • إذا كانت قيمة المَعلمة broadcastType هي all، لن تعرض الطريقة liveBroadcasts.list أحداث بث مباشرة دائمة كانت موجودة قبل ذلك الوقت.

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

    اعتبارًا من تاريخ الإيقاف النهائي:

    • لن تنشئ منصة YouTube بعد الآن أحداث بث تلقائية. بدلاً من الاعتماد على الموارد التلقائية، يجب أن يتمكّن عملاء واجهة برمجة التطبيقات من إنشاء وإدارة موارد liveBroadcast وliveStream وربط هذه الموارد معًا.
    • إذا كان البث التلقائي والبث المباشر التلقائي لقناة ما نشطَين، أي أنّ القناة تستخدمهما لبث مباشر في وقت سريان الإيقاف النهائي، لن يتأثر البث المباشر الجاري. ومع ذلك، بعد انتهاء هذا البث، لن تتمكّن القناة من استخدام البث التلقائي مرة أخرى.
    • إذا لم يكن البث التلقائي والبث المباشر التلقائي لقناة ما نشطَين، سيتجاهل YouTube محاولات استخدام هذه الموارد لبث الفيديو بعد أن يصبح الإيقاف النهائي ساري المفعول.

    إذا تأثّر تطبيقك، يُرجى الرجوع إلى المستندات التالية التي ستساعدك في تحديث تطبيقك لكي يستمر في العمل على النحو المتوقّع بعد هذا التغيير:

    • يشرح دليل نقل البيانات الجديد الخطوات التي قد يحتاج المطوّرون إلى اتّباعها في عملاء واجهة برمجة التطبيقات الذين يستخدمون حاليًا أحداث البث المباشر التلقائية.
    • يقدّم لك دليل دورة حياة البث عملية مفصّلة تشرح كيفية إنشاء حدث مباشر وإدارته على YouTube. توضّح كل خطوة طلبات البيانات من واجهة برمجة التطبيقات أو الإجراءات الأخرى التي يجب اتّخاذها لإكمال إجراء محدّد، وعلى تطبيقك اتّباع هذه العملية عندما يتوقف YouTube عن إتاحة أحداث البث المباشر التلقائية.

31 آذار (مارس) 2020

ملاحظة: هذا إشعار عن الإيقاف النهائي.

تم إيقاف المورد sponsor والطريقة sponsors.list نهائيًا واستبدالهما بالمورد member والطريقة members.list.

لن تعود طريقة sponsors.list متاحة اعتبارًا من 30 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ. على عملاء واجهة برمجة التطبيقات تعديل الطلبات المرسَلة إلى طريقة sponsors.list لاستخدام طريقة members.list بدلاً منها. يُرجى الاطّلاع على سجلّ النُسخ السابقة من YouTube Data API لمزيد من المعلومات حول المرجع الجديد.

‫11 مارس 2020

تم تعديل قسم نقطة نهاية نقل البيانات في دليل تقديم محتوى YouTube المباشر عبر بروتوكول HLS لتوضيح العملية التي يجب أن يستخدمها برنامج الترميز لإكمال قيمة المَعلمة file= عند إنشاء عناوين URL الأساسية والاحتياطية لنقل البيانات.

‫4 فبراير 2020

تم تعديل دليل تقديم محتوى YouTube المباشر عبر HLS للإشارة إلى أنّ طلبات DELETE اختيارية وأنّ نقطة نهاية HLS في YouTube تتجاهلها. لأسباب تتعلّق بالأداء، ينصح YouTube العملاء بعدم إرسال طلبات DELETE.

‫10 يناير 2020

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

  • يتيح المورد liveBroadcast استخدام سمتَين جديدتَين لتمكين صنّاع المحتوى والمشاهدين من تحديد المحتوى "المخصّص للأطفال":
    • تتيح السمة selfDeclaredMadeForKids لصنّاع المحتوى تحديد ما إذا كان البث المباشر موجّهًا للأطفال. يمكن ضبط هذه السمة عند إنشاء بث من خلال الإجراء liveBroadcasts.insert. يُرجى العِلم أنّ هذه السمة لا يتم تضمينها في الردود من واجهة برمجة التطبيقات التي تحتوي على موارد liveBroadcast إلا إذا سمح مالك القناة بطلب البيانات من واجهة برمجة التطبيقات.
    • تتيح السمة madeForKids لأي مستخدم لواجهة برمجة التطبيقات استرداد حالة "محتوى مخصّص للأطفال" لبث معيّن. على سبيل المثال، قد يتم تحديد الحالة استنادًا إلى قيمة السمة selfDeclaredMadeForKids. يمكنك الانتقال إلى مركز مساعدة YouTube لمزيد من المعلومات حول ضبط إعدادات الجمهور لقناتك أو فيديوهاتك أو أحداث البث المباشر.
  • في YouTube Data API، يتيح المورد channel أيضًا استخدام السمتَين الجديدتَين selfDeclaredMadeForKids وmadeForKids.

لقد عدّلنا أيضًا "بنود خدمة YouTube API" و"سياسات المطوّرين". يُرجى الاطّلاع على سجلّ النُسخ السابقة من بنود خدمة YouTube API لمزيد من المعلومات. ستسري التغييرات على بنود خدمة YouTube API وسياسات المطوّرين في 10 يناير 2020 بتوقيت المحيط الهادئ.

‫20 أغسطس 2019

تم تعديل قسم المتطلبات في دليل تقديم محتوى YouTube المباشر عبر بروتوكول HLS من خلال إجراء تغييرَين:

  • وتوضّح أنّ من أفضل الممارسات تضمين كلّ من المقاطع المعترَف بها والمقاطع المعلّقة في كل قائمة تشغيل وسائط. يقلّل هذا الإجراء من احتمال تخطّي مقطع في حال فقدان "قائمة تشغيل وسائط" من جهة الخادم. على سبيل المثال، يمكنك تضمين ما يصل إلى مقطعين مُعترَف بهما وما يصل إلى خمسة مقاطع معلّقة في كل قائمة تشغيل وسائط.
  • أصبح من الضروري الآن إرسال قائمة تشغيل وسائط لكل مقطع وسائط. يتيح ذلك للخادم استرداد البيانات بسرعة في حال فقدان "قائمة تشغيل الوسائط". كانت هذه الممارسة مدرَجة سابقًا كاقتراح.

‫28 يونيو 2019

أصبح YouTube يتيح الآن نقل البيانات عبر بروتوكول HLS. وبالتالي، تتيح السمة ingestionType في المورد liveStream استخدام القيمة الجديدة hls لتحديد أحداث البث التي يتم نقلها إلى YouTube باستخدام بروتوكول HLS.

يقدّم الدليل الجديد تقديم محتوى YouTube المباشر عبر HLS إرشادات حول استخدام HLS لبث محتوى مباشر إلى YouTube من برنامج ترميز. يهدف الدليل إلى مساعدة مورّدي برامج الترميز في إضافة ميزة إرسال HLS إلى منتجاتهم.

‫4 أبريل 2019

يتضمّن هذا التحديث التغييرات التالية:

  • تم تعديل مستندات مرجع واجهة برمجة التطبيقات لتوضيح حالات الاستخدام الشائعة لكل طريقة بشكل أفضل وتقديم عيّنات تعليمات برمجية ديناميكية وعالية الجودة من خلال تطبيق واجهة برمجة التطبيقات المصغّر "أداة استكشاف واجهات برمجة التطبيقات". يمكنك الاطّلاع على مستندات الطريقة liveBroadcasts.list للحصول على مثال. يتوفّر الآن عنصران جديدان في الصفحات التي تصف طرق واجهة برمجة التطبيقات:

    • تتيح لك أداة "مستكشف واجهات برمجة التطبيقات" اختيار نطاقات التفويض وإدخال عيّنات من قيم المَعلمات والسمات، ثم إرسال طلبات بيانات من واجهة برمجة التطبيقات والاطّلاع على ردود من واجهة برمجة التطبيقات. يوفّر التطبيق المصغّر أيضًا عرضًا بملء الشاشة يعرض عينات تعليمات برمجية كاملة، والتي يتم تحديثها ديناميكيًا لاستخدام النطاقات والقيم التي أدخلتها.

    • يصف قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الطريقة liveBroadcasts.list لاسترداد بيانات حول بث معيّن أو لاسترداد بيانات حول أحداث البث الخاصة بالمستخدم الحالي.

      يمكنك استخدام الروابط في هذا القسم لتعبئة "مستكشف واجهات برمجة التطبيقات" بقيم نموذجية لحالة الاستخدام أو لفتح "مستكشف واجهات برمجة التطبيقات" بملء الشاشة مع تعبئة هذه القيم مسبقًا. تهدف هذه التغييرات إلى تسهيل الاطّلاع على عيّنات التعليمات البرمجية التي تنطبق مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك.

    تتوفّر عيّنات التعليمات البرمجية حاليًا للغات Java وJavaScript وPHP وPython وcurl.

  • تتضمّن صفحة عيّنات الرموز البرمجية أيضًا واجهة مستخدم جديدة توفّر جميع الميزات نفسها الموضّحة أعلاه. باستخدام هذه الأداة، يمكنك استكشاف حالات استخدام لطرق مختلفة، وتحميل القيم في "مستكشف واجهات برمجة التطبيقات"، وفتح "مستكشف واجهات برمجة التطبيقات" بملء الشاشة للحصول على عينات تعليمات برمجية بلغات Java وJavaScript وPHP وPython.

    بالتزامن مع هذا التغيير، تمت إزالة الصفحات التي كانت تعرض سابقًا عينات التعليمات البرمجية المتاحة للغات Java وPHP وPython.

‏25 شباط (فبراير) 2019

تم تعديل مستندات الموردَين liveChatMessage وsuperChatEvent لتعكس حقيقة أنّ كلا الموردَين يمكن أن يحتوي الآن على معلومات حول Super Stickers. ‫Super Stickers هي نوع من رسائل Super Chat التي تعرض صورة. على غرار رسائل Super Chat الأخرى، يشتري المعجبون رسائل Super Stickers أثناء بث مباشر على YouTube.

  • في مورد liveChatMessage، تم ضبط السمة snippet.type على superStickerEvent للإشارة إلى أنّ المورد يحتوي على معلومات حول ملصق Super Sticker. في هذه الحالة، يحتوي المورد أيضًا على العنصر snippet.superStickerDetails الذي يتضمّن معلومات إضافية حول ملصق Super Sticker.
  • في المورد superChatEvent، يشير المتغيّر المنطقي snippet.isSuperStickerEvent إلى ما إذا كانت رسالة Super Chat هي أيضًا ملصق Super Sticker. إذا كانت الإجابة نعم، يحتوي العنصر snippet.superStickerMetadata على تفاصيل إضافية حول Super Sticker.

‫5 أبريل 2018

تم تعديل وصف الطريقة superChatEvents.list ليعكس حقيقة أنّ الردّ من واجهة برمجة التطبيقات لم يعُد يحتوي على fanFundingEvents، والتي تم إيقافها نهائيًا في أوائل عام 2017.

3 نيسان (أبريل) 2017

تمت إضافة عيّنات تعليمات برمجية جديدة بلغة Java توضّح كيفية إدراج رسائل المحادثة المباشرة وإضافتها وحذفها. تستدعي النماذج الطرق التالية:

‫13 فبراير 2017

يتضمّن هذا التحديث التغييرات التالية:

  • تعديلات على المراجع والطرق الحالية

    • تم تعديل طريقة liveCuepoints.insert لتعكس حقيقة أنّ مَعلمة onBehalfOfContentOwner مطلوبة حاليًا. بالإضافة إلى ذلك، تم تعديل وصف الطريقة للإشارة إلى أنّ الطلبات المرسَلة إلى هذه الطريقة يجب أن تكون مصرَّحًا بها من حساب مرتبط بمالك محتوى على YouTube.

‫9 فبراير 2017

يتضمّن هذا التحديث التغييرات التالية:

  • تعديلات على المراجع والطرق الحالية

    • تتيح لك المَعلمة hl الجديدة في طريقة superChatEvents.list تحديد أنّه يجب تنسيق قيمة السمة snippet.displayString وفقًا لقواعد لغة معيّنة. وتم أيضًا تعديل تعريف هذه السمة وفقًا لذلك.

      يجب أن تكون قيمة المَعلمة رمز لغة مضمّنًا في القائمة التي تعرضها طريقة i18nLanguages.list. القيمة التلقائية هي en، ما يعني أنّ الإعداد التلقائي هو تنسيق سلاسل العرض كما يتم استخدامها في اللغة الإنجليزية. على سبيل المثال، يتم تلقائيًا تنسيق السلسلة على النحو التالي: $1.00 بدلاً من $1,00.

‫1 فبراير 2017

يتضمّن هذا التحديث التغييرات التالية:

  • المراجع والطرق الجديدة

    • يمثّل المورد الجديد superChatEvent رسالة Super Chat اشتراها أحد المعجبين أثناء بث مباشر على YouTube. في خلاصة المحادثة المباشرة على YouTube، تبرز رسائل Super Chat عن الرسائل الأخرى بطريقتَين:

      • يتم تمييز رسائل Super Chat بلون معيّن.
      • تبقى رسائل Super Chat مثبَّتة في شريط العرض لمدة محددة.

      يتم تحديد لون رسالة Super Chat والمدة التي تبقى فيها مثبّتة في شريط الدردشة والحد الأقصى لطول الرسالة استنادًا إلى مبلغ الشراء. يوفّر مركز مساعدة YouTube المزيد من المعلومات حول رسائل Super Chat.

      تتيح واجهة برمجة التطبيقات طريقة لإدراج أحداث Super Chat لأحداث البث المباشر في قناة خلال آخر 30 يومًا. تعرض هذه الطريقة أيضًا بيانات حول أحداث "التمويل من المعجبين" (fanFundingEvents) من آخر بث مباشر للقناة.

  • تعديلات على المراجع والطرق الحالية

    • أصبحت السمة snippet.type متوافقة الآن مع القيمة superChatEvent التي تشير إلى أنّ المورد يصف Super Chat.

      بالإضافة إلى ذلك، يحتوي المورد liveChatMessage على السمة الجديدة snippet.superChatDetails، كما تحتوي العناصر الفرعية على معلومات حول حدث Super Chat.

    • أصبحت السمة cdn.resolution في المورد liveStream تتيح الآن استخدام القيمة 2160p.

  • الأخطاء الجديدة والمعدَّلة

    • تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

      تفاصيل الخطأ
      ‫liveBroadcasts.insert، liveBroadcasts.update تعرض الطريقتان liveBroadcasts.insert وliveBroadcasts.update أخطاء 400 (Bad Request) للإشارة إلى أنّ مورد liveBroadcast الذي يتم إدراجه أو تعديله يحتوي على قيمة غير صالحة للسمة contentDetails.enableEmbed أو السمة contentDetails.projection. أسباب الخطأين الجديدين هي invalidEmbedSetting وinvalidProjection على التوالي.

‫12 يناير 2017

ملاحظة: هذا إشعار عن الإيقاف النهائي.

بالتزامن مع إصدار ميزة Super Chat الجديدة، أوقف YouTube ميزة "التمويل من المعجبين" نهائيًا، وسيتم إيقاف Fan Funding API في 28 فبراير 2017. اعتبارًا من ذلك التاريخ:

‫11 أغسطس 2016

يتضمّن هذا التحديث التغييرات التالية:

  • توفّر بنود الخدمة المنشورة حديثًا لخدمات YouTube API (المُشار إليها باسم "البنود المعدَّلة") مجموعة غنية من التعديلات على بنود الخدمة الحالية، وهي موضّحة بالتفصيل في مدوّنة YouTube Engineering and Developers. بالإضافة إلى البنود المعدَّلة التي ستسري اعتبارًا من 10 فبراير 2017، يتضمّن هذا التعديل العديد من المستندات الداعمة للمساعدة في شرح السياسات التي يجب على المطوّرين اتّباعها.

    تم شرح المجموعة الكاملة من المستندات الجديدة في سجلّ النُسخ السابقة من "البنود المعدَّلة". بالإضافة إلى ذلك، سيتم أيضًا شرح التغييرات المستقبلية على "البنود المعدَّلة" أو على المستندات الداعمة في سجلّ النُسخ السابقة هذا.

‫20 مايو 2016

أصبحت منصة YouTube تتيح الآن نقل البيانات باستخدام بروتوكول DASH. وبالتالي، تتيح السمة ingestionType في المورد liveStream استخدام القيمة الجديدة dash لتحديد أحداث البث التي يتم نقلها إلى YouTube باستخدام DASH.

يقدّم الدليل الجديد إرسال محتوى YouTube المباشر عبر DASH إرشادات حول استخدام تنسيق إرسال DASH لبث البيانات المباشرة على YouTube من برنامج ترميز. والهدف من ذلك هو مساعدة مورّدي برامج الترميز في إضافة ميزة تسليم المحتوى باستخدام بروتوكول DASH إلى منتجاتهم.

‫18 أبريل 2016

يتضمّن هذا التحديث التغييرات التالية:

  • تعديلات على المراجع والطرق الحالية

    • تعديلات على المرجع "liveStream"
      • يتيح YouTube الآن أحداث البث بدقة 1440p وبمعدّل 30 أو 60 لقطة في الثانية.

        بالإضافة إلى ذلك، يتضمّن المورد liveStream سمات جديدة لتحديد عدد اللقطات في الثانية ودقة بيانات الفيديو الواردة:

        الخصائص
        cdn.frameRate عدد اللقطات في الثانية لبيانات الفيديو الواردة القيمتان الصالحتان هما 30fps و60fps.
        cdn.resolution دقة بيانات الفيديو الواردة القيم الصالحة للسمة هي: 1440p و1080p و720p و480p و360p و240p.
      • وفقًا لإدخال السمتَين cdn.frameRate وcdn.resolution للمورد liveStream، تم إيقاف السمة cdn.format للمورد نهائيًا. تحدّد السمة cdn.format درجة الدقة وعدد اللقطات في الثانية في قيمة واحدة.

        ننصحك بالانتقال إلى الحقول الجديدة المتوافقة. في هذه الأثناء، سيستمر عمل "cdn.format". بالإضافة إلى ذلك، تنجح حاليًا طلبات إدراج أحداث البث المباشر طالما أنّك تحدّد قيمًا للسمة cdn.format أو السمتَين cdn.frameRate وcdn.resolution. إذا قدّمت قيمًا للسمات الثلاث، قد تعرض واجهة برمجة التطبيقات خطأً إذا لم تكن القيم متوافقة.

        يُرجى العِلم أنّه على الرغم من إيقاف السمة cdn.format نهائيًا، فإنّها تتيح الآن استخدام قيمتَين جديدتَين، هما 1440p و1440p_hfr، لتعكس توافق واجهة برمجة التطبيقات مع أحداث البث بدقة 1440p بمعدّل 30 أو 60 لقطة في الثانية.

    • تعديلان (liveBroadcast) على المراجع
      • يحتوي المورد liveBroadcast على السمات الجديدة التالية:

        الخصائص
        contentDetails.boundStreamLastUpdateTimeMs تاريخ ووقت آخر تعديل للبث المباشر الذي تشير إليه السمة contentDetails.boundStreamId في البث
        contentDetails.projection تمثّل هذه السمة تنسيق العرض الخاص بالبث. القيمة التلقائية للسمة هي rectangular. القيم الصالحة للسمة هي 360 وrectangular.
      • تم تعديل تعريف السمة statistics.totalChatCount في المورد liveBroadcast للإشارة إلى أنّ قيمة السمة تظهر فقط إذا كان البث يتضمّن رسالة محادثة واحدة على الأقل.

    • تعديلات على المرجع "liveChatMessage"
      • تتيح السمة snippet.type استخدام قيمتَين جديدتَين، هما messageDeletedEvent وuserBannedEvent، تتوافقان مع السمتَين الجديدتَين الموضّحتَين في نقطة التعداد التالية. تم أيضًا تعديل تعريف السمة snippet.authorChannelId لتوضيح ما تحدّده قيمة السمة لأنواع الرسائل الجديدة هذه.

      • يحتوي المورد liveChatMessage على السمات الجديدة التالية:

        الخصائص
        snippet.messageDeletedDetails يحتوي هذا العنصر على معلومات حول رسالة حذفها أحد المشرفين على المحادثة. لا يظهر العنصر إلا إذا كانت قيمة السمة snippet.type هي messageDeletedEvent.
        snippet.userBannedDetails يحتوي هذا العنصر على معلومات عن مستخدم تم حظره من المشاركة في المحادثة. يحتوي العنصر أيضًا على معلومات حول الحظر نفسه، أي ما إذا كان الحظر دائمًا أو مؤقتًا. إذا كان الحظر مؤقتًا، تحدّد إحدى سمات العنصر مدة الحظر.

        لا يظهر هذا العنصر إلا إذا كانت قيمة السمة snippet.type هي userBannedEvent.
  • الأخطاء الجديدة والمعدَّلة

    • تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

      تفاصيل الخطأ
      liveBroadcasts.bind تعرض الطريقة liveBroadcasts.bind الخطأ 403 (Forbidden) للإشارة إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني معيّن. سبب الخطأ هو userRequestsExceedRateLimit.

      تتيح الطريقتان liveBroadcasts.insert وliveBroadcasts.update الخطأ نفسه.
      liveStreams.insert تتيح طريقة liveStreams.insert أربعة أخطاء جديدة في 400 (Bad Request) تحدّد قيمة غير صالحة للسمة في مورد liveStream الذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      liveStreams.insert تتيح طريقة liveStreams.insert ظهور خطأين جديدين في 400 (Bad Request)، يشير كل منهما إلى أنّ القيمة المطلوبة غير متوفّرة في مورد liveStream الذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      بشكل أكثر تحديدًا، عند إدراج مورد liveStream، يجب تحديد قيمة للسمة cdn.format أو للسمتَين cdn.frameRate و cdn.resolution.
      • تعرض واجهة برمجة التطبيقات الخطأ formatRequired إذا لم تحدّد قيمة لأي من السمات الثلاث.
      • تعرض واجهة برمجة التطبيقات الخطأ frameRateRequired إذا حدّدت قيمة لـ cdn.resolution وليس لـ cdn.frameRate.
      • تعرض واجهة برمجة التطبيقات الخطأ resolutionRequired إذا حدّدت قيمة لـ cdn.frameRate وليس لـ cdn.resolution.
      liveStreams.update تعرض الطريقة liveStreams.update الخطأ 403 (Forbidden) إذا حاول الطلب تعديل قيمة أيّ من السمات غير القابلة للتغيير التالية: قيمة reason في ردّ الخطأ هي liveStreamModificationNotAllowed.

‫18 ديسمبر 2015

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

‫17 ديسمبر 2015

يتضمّن هذا التحديث التغييرات التالية:

  • المراجع والطرق الجديدة

    • تتيح واجهة برمجة التطبيقات استخدام عدة موارد جديدة لتوفير وظيفة المحادثة في أحداث البث المباشر. يتيح YouTube استخدام وظائف المحادثة المباشرة أثناء أحداث البث المباشر النشطة، وتتيح هذه الموارد وطرقها استرداد رسائل المحادثة بالإضافة إلى الوظائف الإدارية للمحادثة.

      الموارد
      liveChatMessage يمثّل هذا المورد رسالة في محادثة مباشرة على YouTube. يتيح YouTube عدة أنواع من الرسائل، بما في ذلك الرسائل النصية وأحداث "التمويل من المعجبين". تحدّد بعض أنواع الرسائل مرحلة معيّنة من المحادثة، مثل بداية فترة مخصّصة للداعمين فقط أو نهاية المحادثة. تتيح واجهة برمجة التطبيقات استخدام طرق لإدراج رسائل المحادثة المباشرة وإضافتها وحذفها.
      liveChatModerators يحدّد هذا المورد مشرفًا على المحادثة. يمكن للمشرفين تنفيذ بعض الوظائف الإدارية، مثل حظر المستخدمين من المحادثة أو إزالة الرسائل. تتيح واجهة برمجة التطبيقات استخدام طرق لإدراج مشرفي المحادثة المباشرة وإضافتهم وحذفهم.
      liveChatBans يحدّد هذا المورد مستخدمًا تم حظره من نشر رسائل في محادثة مباشرة معيّنة. ويمكن أن يكون الحظر مؤقتًا أو دائمًا. تتيح واجهة برمجة التطبيقات استخدام طرق لإضافة عمليات حظر المحادثة المباشرة وحذفها.
      fanFundingEvents يمثّل هذا المورد حدثًا مرتبطًا بميزة "التمويل من المعجبين" على قناة على YouTube. تتيح ميزة "التمويل من المعجبين" للمشاهدين تقديم دعم مالي لمرة واحدة لصنّاع المحتوى في YouTube بشكل طوعي.

      تعرض الطريقة fanFundingEvents.list في واجهة برمجة التطبيقات قائمة بأحداث "التمويل من المعجبين" في القناة. عندما يبدأ المشاهدون أحداث "التمويل من المعجبين" من خلال محادثة مباشرة أثناء بث مباشر تملكه القناة، يتم أيضًا إرسال رسالة fanFundingEvent إلى المحادثة المباشرة الخاصة بالبث.

      يمكنك الاطّلاع على مزيد من المعلومات حول ميزة "التمويل من المعجبين" في مركز مساعدة YouTube.
      sponsors يحدّد المورد sponsor راعيًا لقناة على YouTube. يدفع الراعي رسومًا شهرية للقناة. تظهر شارة بجانب رسائل الداعم في المحادثات المباشرة على القناة، ويمكن للداعمين أيضًا المشاركة في المحادثات المباشرة الحصرية لداعمي القناة، في حال توفّرها.

      تُدرج الطريقة sponsors.list في واجهة برمجة التطبيقات الجهات الراعية للقناة. عندما يشترك المستخدمون في رعاية قناة خلال بث مباشر تملكه تلك القناة، تضيف واجهة برمجة التطبيقات أيضًا رسالة newSponsorEvent إلى المحادثة المباشرة في البث.

      يمكنك الاطّلاع على مزيد من المعلومات حول الرعاية في مركز مساعدة YouTube.

  • تعديلات على المراجع والطرق الحالية

    • يحتوي المورد liveBroadcast على السمات الجديدة التالية:

      الخصائص
      snippet.liveChatId معرّف المحادثة المباشرة على بث YouTube المباشر المرتبطة بالبث باستخدام هذا المعرّف، يمكنك استخدام طرق المورد liveChatMessage لاسترداد رسائل المحادثة أو إدراجها أو حذفها. يمكنكم أيضًا إضافة مشرفين على المحادثة أو إزالتهم، أو حظر مستخدمين من المشاركة في المحادثات المباشرة، أو إزالة عمليات الحظر الحالية.
      contentDetails.closedCaptionsType ملاحظة: تحلّ هذه السمة محلّ السمة contentDetails.enableClosedCaptions.

      تشير هذه السمة إلى ما إذا كانت ميزة الترجمة والشرح مفعّلة للبث، وإذا كانت كذلك، تشير إلى نوع الترجمة والشرح الذي تقدّمه:
      • ‫closedCaptionsDisabled: تم إيقاف ميزة "الترجمة والشرح" للبث المباشر.
      • ‫closedCaptionsHttpPost: يمكنك إرسال الترجمة عبر HTTP POST إلى عنوان URL لنقل البيانات مرتبط بالبث المباشر.
      • ‫closedCaptionsEmbedded: سيتم ترميز الترجمة في بث الفيديو باستخدام تنسيقَي EIA-608 و/أو CEA-708.
      contentDetails.enableClosedCaptions تم إيقاف هذه السمة نهائيًا اعتبارًا من 17 ديسمبر 2015. بدلاً من ذلك، استخدِم السمة contentDetails.closedCaptionsType. بالنسبة إلى عملاء واجهة برمجة التطبيقات الذين يستخدمون هذه السمة حاليًا:
      • يؤدي ضبط قيمة السمة على true إلى ضبط السمة contentDetails.closedCaptionsType على closedCaptionsHttpPost.
      • يؤدي ضبط قيمة السمة على false إلى ضبط السمة contentDetails.closedCaptionsType على closedCaptionsDisabled.
    • تتيح لك المَعلمة الجديدة broadcastType في طريقة liveBroadcasts.list فلترة ردّ من واجهة برمجة التطبيقات لتضمين أحداث البث المباشر أو أحداث البث المستمر أو جميع أحداث البث.

      البث المستمر هو بث متاح دائمًا وغير مرتبط بحدث معيّن. على وجه التحديد، إنّ البث التلقائي للقناة هو بث دائم، ويمكن الوصول إليه من خلال لوحة التحكّم في البث المباشر في "استوديو صنّاع المحتوى في YouTube". أما عمليات البث الأخرى للقناة، فهي عمليات بث للأحداث.

  • يُبلغ الحقل status.healthStatus.configurationIssues[].type في المورد liveStream عن أخطاء حالة السلامة الجديدة التالية:

    الأخطاء
    audioTooManyChannels يتضمن الصوت أكثر من قانتين في حين يمكن استخدام قناة (أحادية) واحدة أو قناتين (استريو) فقط. يرجى تصحيح عدد القنوات الصوتية.
    frameRateHigh إنّ العدد الحالي للقطات في الثانية مرتفع جدًا. يُرجى ضبط معدّل اللقطات على %(framerate)s لقطة في الثانية أو أقل.
  • تم تصحيح تاريخ نشر التعديل السابق على المستندات.

  • الأخطاء الجديدة والمعدَّلة

    • بالإضافة إلى الأخطاء المحدّدة للموارد الجديدة المذكورة أعلاه، تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

      تفاصيل الخطأ
      liveBroadcasts.update
      رمز استجابة HTTPforbidden (403)
      السببclosedCaptionsTypeModificationNotAllowed
      الوصفيمكن تعديل قيمة contentDetails.closedCaptionsType فقط عندما تكون حالة البث created أو ready.
      liveBroadcasts.update
      رمز استجابة HTTPinvalidValue (400)
      السببinvalidEnableClosedCaptions
      الوصففي مورد liveBroadcast، لا تتوافق قيمة السمة contentDetails.enableClosedCaptions مع قيمة الإعداد contentDetails.closedCaptionType. عدِّل المورد لتضمين سمة واحدة فقط من السمتَين، ثم أعِد إرسال الطلب.

‫19 أغسطس 2015

يتضمّن هذا التحديث التغييرات التالية:

  • المراجع والطرق الجديدة

    • ملاحظة: إنّ المستندات الخاصة بمورد liveChat وطرقه سرية ولا تظهر إلا لشركاء YouTube المحدّدين.

      يحتوي مورد liveChat الجديد على تعليق تم نشره أثناء بث مباشر على YouTube. تتيح واجهة برمجة التطبيقات طريقتَين لهذا المرجع:

      الطُرق
      liveChats.list تتيح هذه الطريقة عرض رسائل المحادثة المباشرة في بث معيّن.
      liveChats.insert أنشِئ رسالة محادثة جديدة.

      لا يمكن استرداد رسائل المحادثة المباشرة ونشرها إلا أثناء البث المباشر.

  • تعديلات على المراجع والطرق الحالية

    • يحتوي المورد liveStream على السمات الجديدة التالية:

      الخصائص
      snippet.isDefaultStream تشير هذه السمة إلى ما إذا كان هذا البث هو البث التلقائي للقناة. يتوفّر البث التلقائي للقناة إلى أجل غير مسمى، ولا يرتبط به وقت بدء أو انتهاء، ولا يمكن حذفه. يمكنك الاطّلاع على تعريف السمة لمزيد من المعلومات حول طريقة عمل مصادر البيانات التلقائية.
      status.healthStatus يحتوي هذا العنصر على معلومات يمكن استخدامها لتحديد مشاكل البث وتشخيصها وحلّها. يحتوي العنصر على عدد من السمات الفرعية لمساعدتك في تقييم حالة بث فيديو مباشر.

      على وجه التحديد، يسرد العنصر status.healthStatus.configurationIssues[] المشاكل التي تؤثر في بث الفيديو. يتضمّن المستند الجديد مشاكل في إعداد موارد LiveStream قائمة بجميع المشاكل التي تبلّغ عنها واجهة برمجة التطبيقات.
      contentDetails.isReusable تشير هذه السمة إلى ما إذا كان يمكن إعادة استخدام البث، ما يعني أنّه يمكن ربطه بعدة أحداث بث. من الشائع أن يعيد القائمون بالبث استخدام البث نفسه لعدة عمليات بث مختلفة إذا كانت عمليات البث هذه تحدث في أوقات مختلفة.
    • يحتوي المورد liveBroadcast على السمات الجديدة التالية:

      الخصائص
      snippet.isDefaultBroadcast تشير هذه السمة إلى ما إذا كان هذا البث هو البث التلقائي للقناة. عند تفعيل ميزة البث المباشر في قناة على YouTube، تنشئ المنصة بثًا تلقائيًا وبثًا مباشرًا تلقائيًا للقناة. يحدّد البث كيفية إرسال مالك القناة للفيديو المباشر إلى YouTube، والبث هو الطريقة التي يمكن للمشاهدين من خلالها مشاهدة البث التلقائي. راجِع تعريف السمة لمزيد من المعلومات حول آلية عمل عمليات البث التلقائية.
      contentDetails.enableLowLatency تشير هذه السمة إلى ما إذا كان يجب ترميز هذا البث ليكون وقت الاستجابة منخفضًا. يمكن أن يقلّل البث بزمن انتقال منخفض من الوقت الذي يستغرقه ظهور الفيديو للمستخدمين الذين يشاهدون بثًا، ولكن يمكن أن يؤثر أيضًا في درجة الدقة للمشاهدين.
      statistics.totalChatCount إجمالي عدد رسائل المحادثة المباشرة المرتبطة بالبث تظهر السمة وقيمتها إذا كان البث مرئيًا للمستخدم وكانت ميزة المحادثة المباشرة مفعّلة. يُرجى العِلم أنّ هذه السمة لن تحدّد قيمة بعد انتهاء البث. وبالتالي، لن تحدّد هذه السمة عدد رسائل المحادثة لفيديو مؤرشف لبث مباشر مكتمل.
  • الأخطاء الجديدة والمعدَّلة

    • بالإضافة إلى الأخطاء المحدّدة لمورد liveChat الجديد، تتيح واجهة برمجة التطبيقات الخطأ الجديد التالي:

      تفاصيل الخطأ
      liveStreams.update
      رمز استجابة HTTPforbidden (403)
      السببliveStreamModificationNotAllowed
      الوصفلا تتيح لك واجهة برمجة التطبيقات تغيير بث قابل لإعادة الاستخدام إلى بث غير قابل لإعادة الاستخدام، أو العكس. لمزيد من المعلومات، يُرجى الاطّلاع على فهم البث المباشر وأحداث البث.

‫21 مايو 2015

يتضمّن هذا التحديث التغييرات التالية:

  • يتيح YouTube الآن بث الفيديو المباشر بمعدّل 60 لقطة في الثانية، ما يعني تشغيل فيديوهات الألعاب وغيرها من الفيديوهات السريعة الحركة بسلاسة أكبر. عند بدء بث مباشر على YouTube بمعدّل 60 عدد اللقطات في الثانية، يتيح YouTube أيضًا البث بمعدّل 30 عدد اللقطات في الثانية على الأجهزة التي لا يتوفّر فيها بعد خيار المشاهدة بمعدّل عدد اللقطات مرتفع.

    تتيح السمة cdn.format في المورد liveStream استخدام قيمتَين جديدتَين لهذه الميزة: 720p_hfr و1080p_hfr.

    يمكنك الاطّلاع على مدوّنة صنّاع المحتوى في YouTube لمزيد من المعلومات حول هذه الميزة.

‫21 أغسطس 2014

يتضمّن هذا التحديث التغييرات التالية:

  • تم تعديل تعريف المَعلمة walltime في طريقة liveBroadcasts.control للإشارة إلى أنّ قيمة السمة يتم تحديدها بتنسيق ISO 8601 ‏ (YYYY-MM-DDThh:mm:ss.sssZ).

  • تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    insufficientPermissions liveStreamingNotEnabled تُرجع جميع الطرق الخاصة بموردَي liveBroadcast وliveStream هذا الخطأ إذا لم يتم تفعيل المستخدم الذي سمح بطلب البيانات من واجهة برمجة التطبيقات لبث فيديو مباشر على YouTube. قد تتوفّر تفاصيل توضّح سبب عدم تمكّن المستخدم من بث فيديو مباشر في إعدادات قناة المستخدم على https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit تعرض الطريقتان liveBroadcasts.insert وliveStreams.insert هذا الخطأ للإشارة إلى أنّ المستخدم قد أرسل عددًا كبيرًا جدًا من الطلبات خلال فترة زمنية معيّنة.

‫2 مايو 2014

يتضمّن هذا التحديث التغييرات التالية:

  • تم تعديل أوصاف المورد liveStream والطريقة liveBroadcasts.bind للإشارة إلى أنّه يمكن ربط بث واحد فقط بدفق فيديو واحد، ولكن يمكن ربط دفق فيديو بأكثر من بث واحد. هذا التغيير هو مجرّد تصحيح للمستندات، ولم يتم تغيير وظيفة واجهة برمجة التطبيقات الأساسية.

  • تم تعديل السمة contentDetails.monitorStream.enableMonitorStream في المورد liveBroadcast لتوضيح أنّه إذا كانت قيمة السمة هي true، يجب نقل البث إلى الحالة testing قبل نقله إلى الحالة live. (إذا كانت قيمة السمة هي false، لا يمكن أن يتضمّن البث مرحلة testing، لذا يمكنك نقل البث مباشرةً إلى الحالة live.

  • تم تعديل السمة settings.offsetTimeMs في المورد liveCuepoint للإشارة إلى أنّه يجب عدم تحديد قيمة للسمة إذا لم يكن البث يتضمّن بثًا للمراقبة.

  • أصبحت جميع الطرق الخاصة بموردَي liveBroadcast وliveStream متوافقة الآن مع مَعلمتَي onBehalfOfContentOwner وonBehalfOfContentOwnerChannel. تتيح لك هذه المَعلمات استخدام بيانات اعتماد التفويض نفسها لإكمال طلبات البيانات من واجهة برمجة التطبيقات لقنوات مختلفة مرتبطة بمالك المحتوى نفسه.

  • تم تعديل مستندات طريقة liveCuepoints.insert للإشارة إلى أنّه يمكنك ضبط قيمة للسمة settings.walltime عند استدعاء هذه الطريقة.

  • تحدّد مستندات الأخطاء الآن رمز استجابة HTTP لكل نوع خطأ.

  • تتيح واجهة برمجة التطبيقات الآن الخطأ التالي:

    نوع الخطأ تفاصيل الخطأ الوصف
    insufficientPermissions livePermissionBlocked تعرض الطرق liveBroadcasts.insert وliveBroadcasts.transition وliveStreams.insert هذا الخطأ إذا لم يتمكّن المستخدم الذي سمح بالطلب من بث فيديو مباشر على YouTube. قد تتوفّر تفاصيل توضّح سبب عدم تمكّن المستخدم من بث فيديو مباشر في إعدادات قناة المستخدم على https://www.youtube.com/features.
  • تم تعديل الخطأ invalidScheduledStartTime في طريقة liveBroadcasts.insert لتوضيح أنّه يجب أن يكون وقت البدء المجدوَل قريبًا بما يكفي من التاريخ الحالي لجدولة البث بشكل موثوق في ذلك الوقت.

‫13 ديسمبر 2013

يتضمّن هذا التحديث التغييرات التالية:

  • تحدّد السمة الجديدة status.recordingStatus في المورد liveBroadcast الحالة الحالية للبث.

  • تشير السمة contentDetails.enableClosedCaptions الجديدة لمورد liveBroadcast إلى ما إذا كان يمكن استيعاب مقاطع الترجمة والشرح للبث. يمكن ضبط قيمة السمة عند إدراج بث أو تعديله، ولكن لا يمكن تعديلها بعد أن يصبح البث في الحالة testing أو live. إذا ضبطت هذه السمة على true، سيحدّد مورد liveStream المرتبط بالبث عنوان URL لنقل البيانات الذي يجب استخدامه لمقاطع الترجمة والشرح في البث.

  • أصبحت السمة snippet.scheduledEndTime في المورد liveBroadcast تتيح الآن عرض أحداث البث المجدوَلة للاستمرار إلى أجل غير مسمى. بعد إجراء هذا التغيير، لم تعد السمة مطلوبة في طلبات liveBroadcasts.insert وliveBroadcasts.update.

    إذا استرددت مورد liveBroadcast لا يحدّد قيمة لهذه السمة، تتم جدولة البث ليستمر إلى أجل غير مسمى. وبالمثل، إذا طلبت الطريقة liveBroadcasts.insert أو liveBroadcasts.update ولم تحدّد قيمة لهذه السمة، ستتم جدولة البث ليستمر إلى أجل غير مسمى.

  • يمكن الآن ضبط السمة contentDetails.recordFromStart لمورد liveBroadcast على false فقط إذا كان مسموحًا للقناة التي تبثّ المحتوى بإيقاف تسجيلات أحداث البث المباشر، علمًا أنّ القيمة التلقائية لهذه السمة كانت true.

    إذا لم تكن قناتك تملك الإذن لإيقاف التسجيلات، وحاولت إدراج بث تم ضبط السمة recordFromStart فيه على false، ستعرض واجهة برمجة التطبيقات الخطأ Forbidden. بالإضافة إلى ذلك، إذا لم تكن قناتك تملك هذا الإذن وحاولت تعديل بث لضبط السمة recordFromStart على false، ستعرض واجهة برمجة التطبيقات الخطأ modificationNotAllowed.

  • لم يعُد مورد liveBroadcast يحتوي على السمة enableArchive التي تم ذكرها في أوصاف السمتَين contentDetails.enableDvr وcontentDetails.enableEmbed.

  • تم تعديل قائمة القيم الصالحة للسمة status.lifeCycleStatus في المورد liveBroadcast لتشمل وصفًا لكل حالة.

  • تحدّد السمة settings.walltime الجديدة لمورد liveCuepoint التاريخ والوقت اللذين يجب إدراج نقطة الإشارة فيهما. تعرض واجهة برمجة التطبيقات خطأً إذا حاول طلب إدراج نقطة تلميح تحدّد قيمة لهذه السمة وللسمة settings.offsetTimeMs.

  • يحتوي عنصر contentDetails الجديد في مورد liveStream على معلومات حول البث. في الوقت الحالي، السمة الوحيدة للعنصر هي contentDetails.closedCaptionsIngestionUrl، وهي تحدّد عنوان URL لنقل مقاطع الترجمة والشرح المرتبطة ببث الفيديو.

  • تم تعديل قائمة القيم الصالحة للسمة status.streamStatus في المورد liveStream لتشمل وصفًا لكل حالة.

  • تتيح لك المَعلمة الجديدة walltime في طريقة liveBroadcasts.control تحديد تاريخ ووقت حدوث تغيير في لوحة العرض. تعرض واجهة برمجة التطبيقات خطأً إذا حدّد الطلب قيمة لهذه المَعلمة وللمَعلمة offsetTimeMs.

  • في الردّ من واجهة برمجة التطبيقات على طلب liveBroadcasts.list، تغيّرت قيمة السمة kind من youtube#liveBroadcastList إلى youtube#liveBroadcastListResponse.

  • في الردّ من واجهة برمجة التطبيقات على طلب liveStreams.list، تغيّرت قيمة السمة kind من youtube#liveStreamList إلى youtube#liveStreamListResponse.

  • تم إيقاف السمة eventId نهائيًا من كل من liveBroadcastListResponse وliveStreamListResponse.

  • تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    invalidValue conflictingTimeFields تعرض الطريقة liveBroadcasts.control هذا الخطأ إذا كان طلبك يحدّد قيمًا للمَعلمتَين offsetTimeMs وwalltime. يمكن أن يحذف الطلب كلتا المَعلمتَين أو يحدّد قيمة لإحدى المَعلمتَين.
    invalidValue invalidWalltime تعرض الطريقة liveBroadcasts.control هذا الخطأ إذا كانت قيمة المَعلمة walltime غير صالحة.
    forbidden enableClosedCaptionsModificationNotAllowed تعرض الطريقة liveBroadcasts.update هذا الخطأ إذا حاولت تعديل قيمة contentDetails.enableClosedCaptions وكانت حالة البث ليست created أو ready.
    invalidValue conflictingTimeFields تعرض الطريقة liveCuepoints.insert هذا الخطأ إذا كان طلبك يحدّد قيمًا للسمتَين settings.offsetTimeMs وsettings.walltime. يمكن أن يحذف الطلب كلتا السمتَين أو يحدّد قيمة لإحدى السمتَين.

    بالإضافة إلى ذلك، لم تعُد طريقة liveStreams.update تتيح ظهور خطأ cdnRequired مشابه للخطأ الذي تتيحه طريقة liveStreams.insert.

‫10 مايو 2013

يتضمّن هذا التحديث التغييرات التالية:

‫2 مايو 2013

يتضمّن هذا التحديث التغييرات التالية:

‫27 مارس 2013

يتضمّن هذا التحديث التغييرات التالية:

  • تم تغيير السمات التالية في المورد liveBroadcast:

    • تمت إعادة تسمية الموقع startWithSlateCuepoint إلى startWithSlate.
    • تمت إعادة تسمية الموقع enableArchive إلى recordFromStart.
    • تم إيقاف العنصر slateSettings نهائيًا وإزالته من المستندات. وتمّت أيضًا إزالة رسائل الخطأ المتعلّقة بالعنصر slateSettings أو سماته. أخيرًا، تمت إزالة قسم "عرض لوحات المعلومات" من دليل البدء.

  • لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج لوحات ضمن البث باستخدام طريقة liveCuepoints.insert. تم تحديث المستندات التالية لتعكس هذا التغيير:

    • لم تعُد هذه الوظيفة مذكورة في صفحة الفهرس ودليل البدء والبرنامج التعليمي دورة حياة البث.

    • لم تعُد السمة settings.cueType الخاصة بمورد liveCuepoint تتيح استخدام slate كقيمة للسمة. (القيمة الوحيدة المسموح بها هي ad.

    • تم إيقاف السمة settings.eventState الخاصة بمورد liveCuepoint نهائيًا وإزالتها من المستندات.

‫18 مارس 2013

يتضمّن هذا التحديث التغييرات التالية:

  • تم تعديل جميع رسائل الخطأ في واجهة برمجة التطبيقات لتوضيح الأخطاء المحتملة بشكل أكبر، وتقديم إرشادات حول كيفية حل مشكلة إن أمكن.

  • قد تعرض واجهة برمجة التطبيقات الآن عدة أخطاء جديدة. تحدّد القائمة أدناه الخطأ وطريقة واجهة برمجة التطبيقات التي قد تعرض هذا الخطأ:

    • liveBroadcasts.insert – يجب أن يكون وقت انتهاء البث المجدوَل بعد وقت بدئه المجدوَل.
    • ‫liveBroadcasts.insert: يحدّد البث حالة خصوصية غير صالحة.
    • ‫liveBroadcasts.update: لا يحتوي المورد على قيمة للسمة contentDetails.enableArchive أو لا يضبط قيمة لها.
    • ‫liveBroadcasts.update: لا يحتوي المورد على قيمة للسمة contentDetails.enableContentEncryption أو لا يضبط قيمة لها.
    • ‫liveBroadcasts.update: لا يحتوي المورد على قيمة للسمة contentDetails.enableDvr أو لا يضبط قيمة لها.
    • ‫liveStreams.insert: يجب أن يتراوح طول عنوان المقتطف بين حرف واحد و128 حرفًا.
    • ‫liveStreams.update: لا يحتوي المورد على قيمة للسمة snippet.title أو لا يضبط قيمة لها.

  • تم تعديل مستندات مرجع liveStream لتوضيح أنّ البث المتعدّد الوجهات وWebM ليسا من طرق الإدخال المتوافقة كما تمت الإشارة إليه سابقًا. وتم تعديل قائمة التنسيقات للسمة cdn.format وفقًا لذلك، وتمت إزالة العنصر cdn.multicastIngestionInfo وسماته الفرعية من مستندات المرجع. بالإضافة إلى ذلك، تمت إزالة السمة http من قائمة قيم cdn.ingestionType المسموح بها.