واجهة برمجة تطبيقات البث المباشر على 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. طول الفاصل الزمني بين الفواصل الإعلانية أثناء التشغيل

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

  • يحتوي عنصر liveBroadcast الخاص بالمرجع monetizationDetails على حقول لتفعيل "الإعلانات أثناء التشغيل" وإعدادات الإعلانات المبرمَجة.
  • يمكن استخدام طريقة 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

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

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

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

‫6 يوليو 2020

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

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

‫16 أبريل 2020

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

  • يتيح الآن المورد 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 Stickers. في هذه الحالة، يحتوي العنصر snippet.superStickerMetadata على تفاصيل إضافية حول Super Stickers.

‫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، يتضمّن هذا التعديل العديد من المستندات الداعمة للمساعدة في شرح السياسات التي يجب على المطوّرين اتّباعها.

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

‫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[] المشاكل التي تؤثر في بث فيديو. يتضمّن مستند جديد بعنوان مشاكل الإعداد لموارد البث المباشر جميع المشاكل التي تبلغ عنها واجهة برمجة التطبيقات.
      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 المسموح بها.