سجلّ المراجعة

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

‫2 نوفمبر 2026

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

إذا لم تحدّد قيمة للسمة status.privacyStatus في طلب videos.insert، يتم ضبط حالة خصوصية الفيديو الذي تم تحميله تلقائيًا على public. قد يتم ضبط بعض الفيديوهات التي يتم تحميلها على private تلقائيًا استنادًا إلى إعدادات حساب صانع المحتوى، كما هو موضّح في مركز مساعدة YouTube.

‫15 أكتوبر 2026

تم توضيح طريقة videos.list للإشارة إلى أنّ السمتَين status.selfDeclaredMadeForKids وstatus.madeForKids يتم تعديلهما فقط في حال تحديدهما في الطلب ولا يتم تجاوزهما في حال حذفهما.

‫30 سبتمبر 2026

تم تعديل تعريف المورد comments ليتضمّن السمة الجديدة snippet.imageUrl التي توفّر عنوان URL لصورة أو صورة GIF متحرّكة مرفقة بتعليق.

ستتوفّر هذه الميزة لجميع المستخدمين في نوفمبر 2026.

‫14 سبتمبر 2026

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

  • تم تعديل وصف طريقة thumbnails.set للإشارة إلى أنّ الحدّ الأقصى لحجم ملف الصور المصغّرة التي يتم تحميلها قد زاد من 2 ميغابايت إلى 50 ميغابايت.
  • تم تعديل وصف طريقة playlistImages.insert للإشارة إلى أنّ الحدّ الأقصى لحجم ملف الصور المحمَّلة قد زاد من 2 ميغابايت إلى 50 ميغابايت.

‫11 سبتمبر 2026

تم تعديل تعريف السمة snippet.thumbnails.(key) في المستندات المرجعية للموارد activities وliveBroadcasts وplaylistItems وplaylists وsearch وvideos للإشارة إلى أنّ أحجام الصور المصغّرة ذات الدقة العالية أصبحت متاحة الآن لبعض الفيديوهات: fhd (1080p) وqhd (1440p) وuhd (4K).

‫1 سبتمبر 2026

تقبل طريقة videos.getRating الآن نطاق التفويض https://www.googleapis.com/auth/youtube.readonly.

‫27 أغسطس 2026

سيعدّل YouTube طريقة احتساب المشاهدات العلنية لجميع تنسيقات الفيديوهات: الفيديوهات الطويلة وأحداث البث المباشر وفيديوهات Shorts. سيحتسب YouTube المشاهدات العلنية فور بدء تشغيل الفيديو.

لا تتأثر الأهلية لتحقيق الربح ومعظم مقاييس الأداء الأساسية لأنّها تبقى مرتبطة بمقاييس التفاعل. ستظل أرباح صنّاع المحتوى مستنِدة إلى "مشاهدات Shorts المقصودة" و "ساعات المشاهدة المقصودة"، ويمكنكم الاطّلاع عليها في إحصاءات YouTube > الوضع المتقدّم.

لم نُجرِ أي تغييرات على متطلبات أهلية الانضمام إلى "برنامج شركاء YouTube". سنشير الآن أيضًا إلى متطلبات الأهلية للمشاركة في "برنامج شركاء YouTube" باسم "مشاهدات Shorts المؤهّلة" و"ساعات المشاهدة المؤهّلة" (التي كانت سابقًا "مشاهدات Shorts العلنية الصالحة" و"ساعات المشاهدة العلنية الصالحة").

لمزيد من المعلومات، يُرجى الاطّلاع على مقالة فهم أداء فيديوهاتكم على YouTube.

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

تعديلات على مستندات واجهة برمجة التطبيقات: تم تعديل وصف الحقل viewCount في المستندات المرجعية حول القنوات والفيديوهات.

‫6 أغسطس 2026

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

  • تمت إزالة جميع الإشارات إلى الحقلَين contentDetails.like وcontentDetails.favorite ضمن activities.contentDetails من المستندات المتاحة للجميع لأنّ واجهة برمجة التطبيقات لا تعرض هذين الحقلَين.

‫7 يوليو 2026

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

تتيح واجهة برمجة التطبيقات الآن استخدام الجزء brandPartner في المورد videos. يحتوي هذا الجزء على تفاصيل حول العلامة التجارية الشريكة المرتبطة بالفيديو من أجل وصول العلامات التجارية الشريكة إلى الفيديو الذي يمنحه صنّاع المحتوى.

يمكن تحديد الجزء brandPartner عند استدعاء الطرق التالية:

يحتوي عنصر brandPartner على الحقول التالية:

  • ‫channelId: معرّف القناة الخارجي للعلامة التجارية الشريكة
  • ‫channelHandle: الاسم المعرِّف لقناة العلامة التجارية الشريكة
يجب ضبط السمة channelId أو channelHandle عند إنشاء رابط، ولكن يتم عرض السمة channelId فقط في الردّ.

‫23 يونيو 2026

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

  • تمت إزالة جميع الإشارات إلى نوعَي الموارد messageDeletedEvent وmessageRetractedEvent (وعنصرَي messageDeletedDetails وmessageRetractedDetails المقابلَين لهما) ضمن liveChatMessages لأنّ واجهة برمجة التطبيقات لا تعرض هذه الأحداث.

‫3 يونيو 2026

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

تتيح واجهة برمجة التطبيقات الآن استخدام طريقة جديدة، وهي videos.batchGetStats، والتي تسترد قائمة بإحصاءات الفيديو التي تتطابق مع معلَمات طلب البيانات من واجهة برمجة التطبيقات.

يبلغ استهلاك الحصة عند طلب هذه الطريقة وحدة واحدة في مجموعة الحصص الدقيقة الخاصة بها. الحصة التلقائية لهذه الطريقة هي 10,000 وحدة في اليوم.

‫1 يونيو 2026

نحن بصدد نقل YouTube Data API إلى نظام حصص دقيق يغطي مجموعات أصغر من الطرق، بدءًا من videos.insert وsearch.list.

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

سيتم تحصيل رسوم طلبات البيانات من واجهة برمجة التطبيقات للطريقتَين videos.insert وsearch.list من مجموعات الحصص الخاصة بكل منهما. سيتم احتساب طلبات البيانات من واجهة برمجة التطبيقات لجميع الطرق الأخرى ضمن مجموعة الحصص الحالية. يمكن للمطوّرين الاطّلاع على حدود الحصة في Google Cloud Console، ويمكنهم طلب حصة إضافية من خلال نموذج تمديد الحصة.

‫4 ديسمبر 2025

تم تعديل مستندات YouTube Data API وأداة احتساب الحصة لتعكس تغييرًا في تكلفة الحصة لتحميل فيديو من 1600 وحدة تقريبًا إلى 100 وحدة تقريبًا.

‫10 يوليو 2025

اعتبارًا من 21 يوليو 2025، سيعدّل YouTube المحتوى الذي تعرضه قائمة mostPopular في طريقة video.list. في السابق، كانت قائمة "mostPopular" تعرض الفيديوهات التي تظهر في قائمة "المحتوى الرائج الآن". الآن، ستتضمّن قائمة "mostPopular" فيديوهات من قوائم "الموسيقى الرائجة" و"الأفلام الرائجة" و"ألعاب الفيديو الرائجة". يتزامن هذا التغيير في واجهة برمجة التطبيقات مع إيقاف صفحة "المحتوى الرائج" على YouTube نهائيًا.

‫26 مارس 2025

اعتبارًا من 31 مارس 2025، سيغيّر YouTube طريقة احتساب مشاهدات Shorts. في السابق، كان يتم احتساب مشاهدة لفيديو Shorts بعد تشغيله لعدد معيّن من الثواني. الآن، سنحتسب المشاهدات حسب عدد مرات بدء تشغيل فيديو Short أو إعادة تشغيله، بدون فرض حدّ أدنى لوقت المشاهدة. مزيد من المعلومات

اعتبارًا من 31 مارس 2025، ستعرض الحقول التالية في Data API عدد مشاهدات Shorts وفقًا لهذا التغيير:

  • channels.statistics.viewCount
  • videos.statistics.viewCount

‫30 أكتوبر 2024

تتيح واجهة برمجة التطبيقات الآن تحديد الفيديوهات التي تتضمّن محتوًى واقعيًا معدَّلاً أو اصطناعيًا (A/S). مزيد من المعلومات حول سياسات YouTube المتعلّقة بالمحتوى الذي يتضمّن اعتداءً جنسيًا

تشمل أمثلة المحتوى الذي يتناول الاعتداء الجنسي الفيديوهات التي:

  • يظهر فيه شخص حقيقي يبدو وكأنّه يقول كلامًا لم يقُله أو ينفّذ نشاطًا لم ينفّذه حقيقةً
  • يتضمّن لقطات معدَّلة لحدث أو مكان حقيقيَّين
  • يتضمّن مشهدًا يبدو حقيقيًا ولكنّه لم يحدث فعلاً

للإشارة إلى ما إذا كان الفيديو يتضمّن محتوًى من إنشاء الذكاء الاصطناعي أو محتوًى اصطناعيًا، اضبط السمة status.containsSyntheticMedia. يمكن ضبط هذه السمة عند استدعاء الطريقتَين videos.insert أو videos.update. في حال ضبط هذه السمة، يتم عرضها في المورد video.

‫30 أبريل 2024

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

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

لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج مناقشات القناة أو استردادها. يتوافق هذا التغيير مع الوظائف المتاحة على موقع YouTube الإلكتروني، والذي لا يتيح نشر التعليقات على القنوات.

‫13 مارس 2024

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

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

تم إيقاف المَعلمة sync نهائيًا للدالتين captions.insert وcaptions.update. سيتوقف YouTube عن إتاحة المَعلمة اعتبارًا من 12 أبريل 2024.

نتيجةً لهذا التغيير، على المطوّرين تضمين معلومات التوقيت عند إدراج مسارات الترجمة والشرح أو تعديلها، وإلا ستتعذّر عملية التحميل.

‫12 مارس 2024

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

تم تعديل مستندات مرجع captions للإشارة إلى أنّ الحد الأقصى المسموح به لطول حقل snippet.name هو 150 حرفًا. وتعرض واجهة برمجة التطبيقات الخطأ nameTooLong إذا كان اسم المسار أطول من ذلك.

‫7 مارس 2024

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

تم إيقاف سمة المورد channel brandingSettings.channel.moderateComments نهائيًا. سيتوقف YouTube عن إتاحة هذه المَعلمة اعتبارًا من 7 مارس 2024.

‫31 يناير 2024

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

تتيح لك المَعلمة forHandle الجديدة في طريقة channels.list استرداد معلومات عن قناة من خلال تحديد اسمها المعرِّف على YouTube.

‫9 نوفمبر 2023

تمت إزالة جميع الإشارات إلى المورد videoId ضمن Comments لأنّه لا يتم عرض المورد videoId باستخدام طلب بيانات من واجهة برمجة التطبيقات.

‫12 سبتمبر 2023

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

تم إيقاف طريقة comments.markAsSpam نهائيًا منذ عدة سنوات. هذه الطريقة غير متاحة حاليًا على YouTube ولم تعُد متاحة من خلال واجهة برمجة التطبيقات.

تمت إضافة إشعار بالإيقاف النهائي إلى جميع المستندات التي تشير إلى طريقة comments.markAsSpam.

‫22 أغسطس 2023

أصبحت الطريقة search.list متوافقة الآن مع المَعلمة videoPaidProductPlacement. تتيح لك هذه المَعلمة فلترة نتائج البحث لتشمل فقط الفيديوهات التي أشار صانع المحتوى إلى أنّها تتضمّن إعلانًا ترويجيًا مدفوعًا.

‫18 أغسطس 2023

تم تعديل تعريف السمة liveStreamingDetails.concurrentViewers في المورد video للإشارة إلى أنّ عدد المشاهدين المتزامنين الذي تعرضه واجهة YouTube Data API قد يختلف عن عدد المشاهدين المتزامنين الذي تتم معالجته واستبعاد المشاهدات غير الصالحة منه في "إحصاءات YouTube". يوفّر مركز مساعدة YouTube المزيد من المعلومات حول مقاييس البث المباشر.

‫7 أغسطس 2023

كما أعلنّا في 12 يونيو 2023، تم إيقاف المَعلمة relatedToVideoId في طريقة search.list نهائيًا. لم تعُد هذه المَعلمة متاحة، وتمت إزالة الإشارات إليها من مستندات واجهة برمجة التطبيقات.

‏28 حزيران (يونيو) 2023

تتيح طريقة thumbnails.set الآن استخدام الخطأ uploadRateLimitExceeded الذي يشير إلى أنّ القناة حمّلت عددًا كبيرًا جدًا من الصور المصغّرة خلال آخر 24 ساعة، ويجب إعادة المحاولة لاحقًا.

‫12 يونيو 2023

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

تم إيقاف المَعلمة relatedToVideoId الخاصة بالطريقة search.list نهائيًا. سيتوقف YouTube عن إتاحة المَعلمة اعتبارًا من 7 أغسطس 2023.

في الوقت الحالي، تمت إضافة إشعار بشأن الإيقاف النهائي إلى مستندات الطريقة search.list. ستتم إزالة هذه المَعلمة بالكامل من مستندات search.list في 7 أغسطس 2023 أو بعد هذا التاريخ.

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

‫22 أغسطس 2022

تم تصحيح التعليقات التوضيحية للنوع في حقول video.statistics من عدد صحيح طويل بدون إشارة إلى سلسلة.

5 آب (أغسطس) 2022

غيّر YouTube طريقة إنشاء معرّفات الترجمة، وكجزء من هذا التغيير، يتمّ تعيين معرّفات ترجمة جديدة لجميع مسارات الترجمة والشرح. قد يكون هذا التغيير غير متوافق مع الأنظمة القديمة للتطبيقات التي تخزّن قيم caption_id، مع أنّه لن يؤثر في التطبيقات التي لا تخزّن قيم caption_id.

من الآن وحتى 1 ديسمبر 2022، ستتيح الطرق captions.list وcaptions.update وcaptions.download وcaptions.delete استخدام معرّفات مسارات الترجمة والشرح القديمة والجديدة. ومع ذلك، اعتبارًا من 1 ديسمبر 2022، سيتوقف YouTube عن إتاحة أرقام تعريف مسارات الترجمة والشرح القديمة. في ذلك الوقت، سيؤدي استدعاء أي من طرق واجهة برمجة التطبيقات هذه باستخدام معرّف مسار ترجمة وشرح قديم إلى ظهور خطأ captionNotFound.

للاستعداد لهذا التغيير، عليك التخطيط لاستبدال جميع بيانات مسارات الترجمة والشرح المخزّنة بالكامل من الآن وحتى 1 كانون الأول (ديسمبر) 2022. هذا يعني أنّه بالنسبة إلى أي فيديو تخزّن بيانات مسار الترجمة والشرح له، عليك حذف البيانات المخزّنة حاليًا، ثم استدعاء طريقة captions.list لاسترداد المجموعة الحالية من مسارات الترجمة والشرح للفيديو وتخزين البيانات في الردّ من واجهة برمجة التطبيقات كالمعتاد.

12 تموز (يوليو) 2022

تم تعديل بنود خدمة YouTube API. يُرجى الاطّلاع على سجلّ النُسخ السابقة من بنود خدمة YouTube API لمزيد من المعلومات.

‫27 نيسان (أبريل) 2022

تم تعديل وصف طريقة videos.insert للإشارة إلى أنّ الحدّ الأقصى لحجم ملفات الفيديوهات التي يتم تحميلها قد زاد من 128 غيغابايت إلى 256 غيغابايت.

‫8 أبريل 2022

تم تعديل تعريفَي المَعلمتَين myRecentSubscribers وmySubscribers في طريقة subscriptions.list للإشارة إلى أنّ الحد الأقصى لعدد المشتركين الذين تعرضهم واجهة برمجة التطبيقات قد يكون محدودًا. يمثّل هذا التغيير تصحيحًا في المستندات وليس تغييرًا في سلوك واجهة برمجة التطبيقات.

‫15 ديسمبر 2021

كما أعلنّا في 18 تشرين الثاني (نوفمبر) 2021، أصبحت السمة statistics.dislikeCount للمورد video خاصة الآن، وذلك بالتزامن مع التغييرات التي أجريناها لإخفاء عدد غير المعجبين بالفيديوهات على منصة YouTube بأكملها.

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

‫18 نوفمبر 2021

بالتزامن مع التغييرات التي تم إجراؤها لإخفاء عدد النقرات على الزر "لم يعجبني" في الفيديوهات على منصة YouTube بأكملها، سيتم إخفاء السمة statistics.dislikeCount في المورد video اعتبارًا من 13 ديسمبر 2021. وهذا يعني أنّ السمة لن يتم تضمينها في الردّ من واجهة برمجة التطبيقات من نقطة النهاية videos.list إلا إذا تمت مصادقة طلب البيانات من واجهة برمجة التطبيقات من قِبل مالك الفيديو.

لن تتأثر نقطة النهاية videos.rate بهذا التغيير.

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

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

‫2 يوليو 2021

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

تم إيقاف نقطة النهاية commentThreads.update نهائيًا ولم تعُد متاحة. كانت نقطة النهاية هذه تكرّر الوظائف المتاحة من خلال نقاط نهاية أخرى لواجهة برمجة التطبيقات. بدلاً من ذلك، يمكنك الاتصال بالرقم comments.update

وإذا كان الرمز يتطلّب مورد commentThreads، يمكنك إجراء طلب ثانوي إلى الأسلوب commentThreads.list.

1 تموز (يوليو) 2021

على جميع المطوّرين الذين يستخدمون خدمات YouTube API إكمال عملية تدقيق في الامتثال لسياسات واجهة برمجة التطبيقات من أجل الحصول على حصة أكبر من الحصة التلقائية البالغة 10,000 وحدة. حتى الآن، كان المطوّرون يجرون عملية التدقيق في الامتثال ويقدّمون طلبات لتخصيص وحدات حصص إضافية من خلال ملء نموذج التدقيق وتمديد الحصة في خدمات YouTube API وإرساله.

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

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

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

يتوفّر المزيد من التفاصيل في دليل عمليات تدقيق الامتثال الجديد لواجهة برمجة التطبيقات.

‫12 مايو 2021

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

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

  • تم إيقاف السمة contentDetails.relatedPlaylists.favorites الخاصة بمورد channel نهائيًا. تم إيقاف وظيفة الفيديوهات المفضّلة نهائيًا منذ عدة سنوات، كما هو موضّح في إدخال سجلّ النُسخ السابقة بتاريخ 28 أبريل 2016.

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

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

    • brandingSettings.channel.defaultTab
    • brandingSettings.channel.featuredChannelsTitle
    • brandingSettings.channel.featuredChannelsUrls[]
    • brandingSettings.channel.profileColor
    • brandingSettings.channel.showBrowseView
    • brandingSettings.channel.showRelatedChannels

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

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

    • snippet.style
    • snippet.defaultLanguage
    • snippet.localized.title
    • localizations
    • localizations.(key)
    • localizations.(key).title
    • targeting
    • targeting.languages[]
    • targeting.regions[]
    • targeting.countries[]

    بالتزامن مع هذا التغيير، تم أيضًا إيقاف المَعلمة hl الخاصة بالطريقة channelSection.list نهائيًا لأنّ الميزات التي تتيحها غير متاحة.

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

  • بالنسبة إلى السمة snippet.type في المورد channelSection، تم إيقاف القيم التالية نهائيًا. لم تعُد هذه القيم متاحة على صفحات القنوات على YouTube، وبالتالي لم تعُد متاحة أيضًا من خلال واجهة برمجة التطبيقات.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • تم إيقاف السمة snippet.tags[] لمورد playlist نهائيًا. هذه السمة غير متاحة حاليًا على YouTube، وبالتالي لم تعُد متاحة من خلال واجهة برمجة التطبيقات.

‫9 فبراير 2021

يتيح مورد playlistItem استخدام سمتَين جديدتَين:

‫28 يناير 2021

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

  • تتيح الآن الطرق playlistItems.delete وplaylistItems.insert وplaylistItems.list وplaylistItems.update وplaylists.delete وplaylists.list وplaylists.update استخدام الخطأ الجديد playlistOperationUnsupported. يحدث الخطأ عندما يحاول طلب تنفيذ عملية غير مسموح بها لقائمة تشغيل معيّنة. على سبيل المثال، لا يمكن للمستخدم حذف فيديو من قائمة تشغيل الفيديوهات التي حمّلها أو حذف قائمة التشغيل نفسها.

    في جميع الحالات، يعرض هذا الخطأ رمز استجابة HTTP‏ 400 (طلب غير صالح).

  • تمت إزالة الخطأين watchHistoryNotAccessible وwatchLaterNotAccessible الخاصين بالطريقة playlistItems.list من المستندات. مع أنّ سجلّ المشاهدة وقوائم المشاهدة لاحقًا الخاصة بالمستخدمين لا يمكن الوصول إليها من خلال واجهة برمجة التطبيقات، لا تعرض واجهة برمجة التطبيقات هذه الأخطاء المحدّدة.

‫15 أكتوبر 2020

تمت إضافة قسمَين جديدَين إلى سياسات المطوّرين:

  • يوفّر القسم الثالث (هـ) (4) (أ) الجديد معلومات إضافية حول البيانات التي يتم جمعها وإرسالها من خلال مشغّل YouTube المضمّن. وتتحمّل أنت مسؤولية أي بيانات مستخدمين ترسلها إلينا من خلال أي مشغّل YouTube مضمّن قبل أن يتفاعل المستخدم مع المشغّل للإشارة إلى نيته في تشغيل المحتوى. يمكنك الحدّ من البيانات التي تتم مشاركتها مع YouTube قبل أن يتفاعل المستخدم مع المشغّل من خلال ضبط ميزة "التشغيل التلقائي" على "خطأ".
  • يتعلّق القسم الجديد III.E.4.j بالتحقّق من حالة المحتوى المخصّص للأطفال قبل تضمينه في مواقعك الإلكترونية وتطبيقاتك. أنت مسؤول عن معرفة ما إذا كانت الفيديوهات التي تضمنها في عميل واجهة برمجة التطبيقات مخصّصة للأطفال، وعن التعامل مع البيانات التي يتم جمعها من المشغّل المضمّن وفقًا لذلك. لذلك، عليك التحقّق من حالة المحتوى باستخدام خدمة YouTube Data API قبل تضمينه في عميل واجهة برمجة التطبيقات من خلال أيّ مشغّلات YouTube مضمّنة.

يشرح الدليل الجديد العثور على حالة "محتوى مخصّص للأطفال" لفيديو كيفية البحث عن حالة "محتوى مخصّص للأطفال" لفيديو باستخدام خدمة YouTube Data API.

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

8 تشرين الأول (أكتوبر) 2020

يتناول هذا التعديل ثلاثة تغييرات صغيرة تتعلّق بمورد channel:

  • قد يكون الكائن snippet.thumbnails الذي يحدّد الصور المصغّرة للقناة فارغًا للقنوات التي تم إنشاؤها حديثًا، وقد يستغرق ملؤه مدة تصل إلى يوم واحد.
  • وتعرض السمة statistics.videoCount عدد الفيديوهات العلنية في القناة فقط، حتى لمالكي القناة. ويتوافق هذا السلوك مع الأعداد المعروضة على موقع YouTube الإلكتروني.
  • قد يتم اقتطاع الكلمات الرئيسية للقناة، والتي يتم تحديدها في السمة brandingSettings.channel.keywords، إذا تجاوزت الحد الأقصى المسموح به للطول وهو 500 حرف أو إذا كانت تحتوي على علامات اقتباس غير مُلغاة ("). يُرجى العِلم أنّ الحدّ الأقصى المسموح به وهو 500 حرف لا ينطبق على كل كلمة رئيسية، بل على الطول الإجمالي لجميع الكلمات الرئيسية. ويتوافق هذا السلوك مع السلوك المتّبع على موقع YouTube الإلكتروني.

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

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

يتضمّن هذا التعديل التغييرات التالية في واجهة برمجة التطبيقات. ستسري جميع التغييرات في 9 سبتمبر 2020 أو بعد هذا التاريخ، وهو تاريخ نشر هذا الإشعار. لذلك، يجب ألا يعتمد المطوّرون بعد الآن على أي من ميزات واجهة برمجة التطبيقات المدرَجة أدناه.

  • تم إيقاف موارد واجهة برمجة التطبيقات والطرق والمَعلمات وخصائص الموارد التالية نهائيًا على الفور، وسيتوقف العمل بها في تاريخ هذا الإشعار أو بعده:
    • سمات موارد channel التالية:
      • السمة statistics.commentCount
      • كائن brandingSettings.image وجميع سماته الفرعية
      • قائمة brandingSettings.hints وجميع المواقع الفرعية التابعة لها
    • مَعلمة الفلتر categoryId في الطريقة channels.list
    • مورد guideCategories وطريقة guideCategories.list
  • لم تعُد الردود من واجهة برمجة التطبيقات للطريقة channels.list تتضمّن السمة prevPageToken إذا ضبط طلب البيانات من واجهة برمجة التطبيقات المَعلمة managedByMe على true. لا يؤثر هذا التغيير في السمة prevPageToken لطلبات channels.list الأخرى، ولا يؤثر في السمة nextPageToken لأي طلبات.
  • تم الإعلان عن إيقاف السمتَين contentDetails.relatedPlaylists.watchLater وcontentDetails.relatedPlaylists.watchHistory لمورد channel نهائيًا في 11 أغسطس 2016. تم أيضًا إيقاف الطريقتَين playlistItems.insert وplaylistItems.delete نهائيًا لهذه القوائم، وتمت إزالة السمتَين من المستندات.
  • تمت إزالة المَعلمة mySubscribers الخاصة بالطريقة channels.list من المستندات، علمًا بأنّه تم الإعلان عن إيقافها نهائيًا في 30 يوليو 2013. استخدِم الطريقة subscriptions.list والمَعلمة mySubscribers لاسترداد قائمة بالمشتركين في قناة المستخدم الذي تمّت المصادقة عليه.
  • تمت إزالة الكائن invideoPromotion الخاص بمورد channel وجميع سماته الفرعية من المستندات، علمًا بأنّه تم الإعلان عن إيقافها نهائيًا في 27 تشرين الثاني (نوفمبر) 2017.

‫29 يوليو 2020

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

نتيجةً لهذا التغيير، ستنخفض تكلفة الحصة لمعظم طلبات البيانات من واجهة برمجة التطبيقات بشكل طفيف، في حين أنّ بعض طلبات البيانات من واجهة برمجة التطبيقات ستحتفظ بالتكلفة نفسها. لا يؤدي هذا التغيير إلى زيادة تكلفة أي طلبات بيانات من واجهة برمجة التطبيقات. بشكل عام، من المرجّح أن تزيد الحصة المخصّصة لك، والتي يمكن الاطّلاع عليها في Google Cloud Console.

ننصح جميع المطوّرين بشدة بإكمال تدقيق الامتثال لمشاريعهم لضمان استمرار وصولهم إلى خدمات YouTube API.

تم نشر إدخال سجلّ النُسخ السابقة هذا في الأصل في 20 يوليو 2020.

‫28 يوليو 2020

إنّ كل الفيديوهات التي تم تحميلها من خلال نقطة النهاية videos.insert من مشاريع واجهة برمجة تطبيقات لم يتم التحقق منها وتم إنشاؤها بعد 28 يوليو 2020 ستكون متاحة في وضع المشاهدة الخاص فقط. لإزالة هذا القيد، يجب أن يخضع كل مشروع لتدقيق من أجل التحقّق من امتثاله لبنود الخدمة.

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

لا تتأثر حاليًا بهذا التغيير مشاريع واجهة برمجة التطبيقات التي تم إنشاؤها قبل 28 يوليو 2020. ومع ذلك، ننصح جميع المطوّرين بشدة بإكمال عملية تدقيق الامتثال لمشاريعهم لضمان استمرار وصولهم إلى خدمات YouTube API.

21 تموز (يوليو) 2020

[تاريخ التعديل: 28 يوليو 2020] تمت إعادة نشر تعديل المستندات المُشار إليه في إدخال سجلّ النُسخ السابقة هذا في 28 تموز (يوليو) 2020.

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

7 تموز (يوليو) 2020

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

تم إيقاف المَعلمتَين autoLevels وstabilize في طريقة videos.insert نهائيًا، وتمت إزالة كلتا المَعلمتَين من المستندات. ويتم تجاهل قيمها ولا تؤثر في طريقة معالجة الفيديوهات التي تم تحميلها حديثًا.

‫15 يونيو 2020

يقدّم دليل الالتزام بسياسات مطوّري البرامج في YouTube الجديد إرشادات وأمثلة لمساعدتك في التأكّد من التزام عملاء واجهة برمجة التطبيقات لديك بأجزاء معيّنة من بنود وسياسات خدمات YouTube API (بنود خدمة واجهة برمجة التطبيقات).

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

‫4 يونيو 2020

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

تم إيقاف ميزة "نشرة القناة" نهائيًا. تم الإعلان عن هذا التغيير في البداية في 17 أبريل 2020، وقد دخل الآن حيز التنفيذ. نتيجةً لذلك، لم يعُد من الممكن استخدام الطريقة activities.insert، ولم تعُد الطريقة activities.list تعرض نشرات القناة. لمزيد من التفاصيل، يُرجى الانتقال إلى مركز مساعدة YouTube.

‫17 أبريل 2020

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

ستوقف YouTube ميزة "نشرة القناة" نهائيًا. نتيجةً لذلك، سيتم إيقاف طريقة activities.insert نهائيًا، وستتوقف طريقة activities.list عن عرض نشرات القناة. ستسري هذه التغييرات في واجهة برمجة التطبيقات في 18 أيار (مايو) 2020 أو بعد هذا التاريخ. لمزيد من التفاصيل، يُرجى الانتقال إلى مركز مساعدة YouTube.

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

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

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

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

      يحلّ هذا المرجع محلّ المرجع sponsor الموثَّق كجزء من YouTube Live Streaming API. تم إيقاف المورد sponsor نهائيًا، وعلى عملاء واجهة برمجة التطبيقات تعديل الطلبات إلى الطريقة sponsors.list لاستخدام الطريقة members.list بدلاً منها.

    • يحدّد مورد membershipsLevel الجديد مستوى الأسعار الذي يديره صانع المحتوى الذي سمح بطلب البيانات من واجهة برمجة التطبيقات. تستردّ الطريقة membershipsLevels.list قائمة بجميع مستويات العضوية التي يقدّمها صانع المحتوى.

‫10 يناير 2020

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

يتيح الموردان channel وvideo استخدام سمتَين جديدتَين لتمكين صنّاع المحتوى والمشاهدين من تحديد المحتوى المخصّص للأطفال:

  • تتيح السمة selfDeclaredMadeForKids لصنّاع المحتوى تحديد ما إذا كانت القناة أو الفيديو مخصّصَين للأطفال.

    بالنسبة إلى القنوات، يمكن ضبط هذه السمة عند استدعاء الإجراء channels.update. بالنسبة إلى الفيديوهات، يمكن ضبط هذه السمة عند استدعاء الإجراء videos.insert أو videos.update.

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

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

‫10 سبتمبر 2019

تم تعديل مستندات مرجع واجهة برمجة التطبيقات لتعكس تغييرًا في طريقة الإبلاغ عن أعداد المشتركين على YouTube، وبالتالي في الردود من واجهة برمجة التطبيقات. نتيجةً لهذا التغيير، يتم تقريب أعداد المشتركين التي تعرضها خدمة YouTube Data API إلى ثلاثة أرقام معنوية إذا كان عدد المشتركين أكبر من 1,000 مشترك. يؤثّر هذا التغيير في السمة statistics.subscriberCount الخاصة بالمورد channel.

ملاحظة: يؤثر هذا التغيير في قيمة هذه السمة حتى في الحالات التي يرسل فيها المستخدم طلبًا مصرّحًا به للحصول على بيانات حول قناته. وسيظل بإمكان مالكي القنوات الاطّلاع على العدد الدقيق للمشتركين في "استوديو YouTube".

على سبيل المثال، إذا كانت القناة تضمّ 123,456 مشتركًا، ستحتوي السمة statistics.subscriberCount على القيمة 123000. يعرض الجدول أدناه أمثلة على كيفية تقريب أعداد المشتركين في الردود من واجهة برمجة التطبيقات واختصارها في واجهات مستخدم YouTube الأخرى التي تظهر للجميع:

مثال على عدد المشتركين YouTube Data API واجهات مستخدم YouTube المرئية للجميع
1234 1230 1.23 ألف
12,345 12300 ‫12.3 ألف
123,456 123000 123 ألف
1,234,567 1230000 1.23 مليون
12,345,678 12300000 12.3 مليون
123,456,789 123000000 123 مليون

‫4 أبريل 2019

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

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

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

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

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

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

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

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

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

يُرجى العِلم أنّ التغييرات الموضّحة أعلاه تحلّ محلّ أداة تفاعلية تمت إضافتها إلى مستندات واجهة برمجة التطبيقات في عام 2017.

9 تموز (يوليو) 2018

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

  • تم تعديل تعريف السمة snippet.thumbnails في المورد channel للإشارة إلى أنّه عند عرض الصور المصغّرة في تطبيقك، يجب أن يستخدم الرمز عناوين URL للصور تمامًا كما تظهر في الردود من واجهة برمجة التطبيقات. على سبيل المثال، يجب ألا يستخدم تطبيقك نطاق http بدلاً من نطاق https في عنوان URL الذي يتم عرضه في ردّ من واجهة برمجة التطبيقات.

    اعتبارًا من يوليو 2018، ستتوفّر عناوين URL للصور المصغّرة للقنوات في نطاق https فقط، وهو الشكل الذي تظهر به عناوين URL في الردود من واجهة برمجة التطبيقات. بعد ذلك، قد تظهر صور معطّلة في تطبيقك إذا حاول تحميل صور YouTube من نطاق http.

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

    تم إيقاف السمة recordingDetails.location.altitude للمورد video نهائيًا. وليس هناك ما يضمن أنّ الفيديوهات ستعرض قيمًا لهذه السمة. وبالمثل، حتى إذا حاولت طلبات البيانات من واجهة برمجة التطبيقات ضبط قيمة لهذه السمة، من الممكن ألا يتم تخزين البيانات الواردة.

‫22 يونيو 2018

تم تعديل دليل الاستخدام، المعروف سابقًا باسم "دليل الاستخدام ونقل البيانات"، لإزالة تعليمات نقل البيانات من الإصدار 2 من واجهة برمجة التطبيقات إلى الإصدار 3. بالإضافة إلى ذلك، تمت إزالة التعليمات الخاصة بالميزات التي تم إيقافها نهائيًا في الإصدار 3 من واجهة برمجة التطبيقات، مثل الفيديوهات المفضّلة.

‫27 تشرين الثاني (نوفمبر) 2017

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

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

    ستزيل منصة YouTube ميزتَي الفيديو المميّز والموقع الإلكتروني المميّز اللتين تتيحهما واجهة برمجة التطبيقات من خلال الكائن invideoPromotion في المورد channel. ونتيجةً لذلك، سيتم إيقاف هذا العنصر نهائيًا، بما في ذلك جميع سماته الفرعية.

    سيظل بإمكانك استرداد بيانات invideoPromotion وضبطها حتى 14 ديسمبر 2017. بعد ذلك التاريخ:

    • ستؤدي محاولات استرداد الجزء invideoPromotion عند طلب channels.list إلى عرض invideoPromotion فارغ أو لن تعرض أي بيانات invideoPromotion على الإطلاق.
    • ستعرض محاولات تعديل بيانات invideoPromotion عند طلب channels.update استجابة ناجحة حتى 27 مايو 2018 على الأقل، ولكن سيتم التعامل معها على أنّها عمليات غير فعّالة، أي أنّها لن تؤدي إلى إجراء تعديل فعلي.

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

‫16 نوفمبر 2017

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

  • أصبحت أداة مقتطفات الرموز التفاعلية متوافقة الآن مع عيّنات الرموز البرمجية في Node.js. تظهر النماذج أيضًا في مستندات جميع طرق واجهة برمجة التطبيقات تقريبًا، مثل طريقة channels.list.

    تم تصميم النماذج القابلة للتخصيص لتوفير نقطة بداية خاصة بحالة الاستخدام لتطبيق Node.js. تتشابه الوظيفة مع الرمز البرمجي في دليل البدء السريع لـ Node.js. ومع ذلك، تحتوي النماذج على بعض الدوال الخدمية التي لا تظهر في دليل البدء السريع:

    • تأخذ الدالة removeEmptyParameters قائمة بأزواج المفتاح/القيمة المقابلة لمَعلمات طلبات البيانات من واجهة برمجة التطبيقات وتزيل المَعلمات التي لا تحتوي على قيم.
    • تأخذ الدالة createResource قائمة بأزواج المفاتيح والقيم التي تتوافق مع السمات في مورد واجهة برمجة التطبيقات. بعد ذلك، يحوّل السمات إلى عنصر JSON يمكن استخدامه في عمليات insert وupdate. يعرض المثال أدناه مجموعة من أسماء السمات وقيمها وعنصر JSON الذي سينشئه الرمز لها:
      # Key-value pairs:
      {'id': 'ABC123',
       'snippet.title': 'Resource title',
       'snippet.description': 'Resource description',
       'status.privacyStatus': 'private'}
      
      # JSON object:
      {
       'id': 'ABC123',
       'snippet': {
         'title': 'Resource title',
         'description': 'Resource description',
       },
       'status': {
         'privacyStatus': 'private'
       }
      }

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

‫25 أكتوبر 2017

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

  • تم تعديل عينات تعليمات Python البرمجية في أداة مقتطف الرمز التفاعلي لاستخدام مكتبتَي google-auth وgoogle-auth-oauthlib بدلاً من مكتبة oauth2client التي تم إيقافها نهائيًا.

    بالإضافة إلى هذا التغيير، توفّر الأداة الآن عيّنات تعليمات برمجية كاملة لتطبيقات Python المثبّتة وتطبيقات خادم الويب Python التي تستخدم مسارات تفويض مختلفة قليلاً. للاطّلاع على النماذج الكاملة (وهذا التغيير):

    1. انتقِل إلى أداة مقتطف الرمز التفاعلي أو إلى مستندات أي طريقة من طرق واجهة برمجة التطبيقات، مثل طريقة channels.list.
    2. انقر على علامة التبويب Python فوق عينات التعليمات البرمجية.
    3. انقر على زر التبديل فوق علامات التبويب للتبديل من عرض مقتطف إلى نموذج كامل.
    4. من المفترض أن تعرض علامة التبويب الآن عينة تعليمات برمجية كاملة تستخدم مسار تفويض InstalledAppFlow. يشرح الوصف الوارد أعلى النموذج ذلك، كما يتضمّن رابطًا لنموذج تطبيق خادم ويب.
    5. انقر على الرابط للانتقال إلى مثال خادم الويب. يستخدم هذا النموذج إطار عمل تطبيق الويب Flask ومسار تفويض مختلفًا.

    تم تصميم جميع هذه النماذج ليتم تنزيلها وتشغيلها على الجهاز. إذا أردت تشغيل النماذج، يمكنك الاطّلاع على تعليمات تشغيل عينات التعليمات البرمجية الكاملة على الجهاز في تعليمات أداة مقتطف الرمز.

‫29 أغسطس 2017

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

  • تم تعديل تعريف المَعلمة forContentOwner في طريقة search.list للإشارة إلى أنّه في حال ضبط هذه المَعلمة على true، يجب ضبط المَعلمة type على video.
  • تم تعديل تعريف المَعلمة regionCode الخاصة بالطريقة search.list لتوضيح أنّ المَعلمة تحصر نتائج البحث بالفيديوهات التي يمكن مشاهدتها في المنطقة المحدّدة.
  • عدّل YouTube شعاراته ورموزه المرتبطة بالعلامة التجارية. يمكن تنزيل شعارات "تم تطويره باستخدام YouTube" الجديدة من صفحة إرشادات بناء هوية العلامة التجارية. تظهر أيضًا شعارات ورموز YouTube الجديدة الأخرى على تلك الصفحة ويمكن تنزيلها من موقع العلامة التجارية لـ YouTube.

‫24 يوليو 2017

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

  • يتوفّر دليل بدء سريع جديد لواجهة YouTube Data API على أجهزة iOS. يشرح الدليل كيفية استخدام YouTube Data API في تطبيق iOS بسيط مكتوب بلغة Objective-C أو Swift.
  • تتضمّن الآن أداة مقتطف الرمز التفاعلي في YouTube Data API مستندات تشرح بعض ميزات الأداة:
    • تنفيذ طلبات البيانات من واجهة برمجة التطبيقات
    • التبديل بين مقتطفات الرموز وعيّنات التعليمات البرمجية الكاملة
    • استخدام الدوال الجاهزة
    • تحميل الموارد الحالية (لطرق التعديل)

    ملاحظة: يتم أيضًا تضمين الأداة في مستندات مرجع واجهة برمجة التطبيقات لطُرق واجهة برمجة التطبيقات (مثال).

‫1 يونيو 2017

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

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

    سيتم إيقاف سمات موارد video التالية نهائيًا. مع أنّ هذه السمات ستظل متاحة حتى 1 ديسمبر 2017، ليس هناك ما يضمن أنّ الفيديوهات ستستمر في عرض قيم لهذه السمات حتى ذلك التاريخ. وبالمثل، لن تؤدي طلبات videos.insert وvideos.update التي تضبط قيم هذه السمات إلى ظهور أخطاء قبل ذلك التاريخ، ولكن من المحتمل ألا يتم تخزين البيانات الواردة.

17 أيار (مايو) 2017

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

  • تم تعديل مستندات مرجع واجهة برمجة التطبيقات لجعل مقتطفات الرموز أكثر انتشارًا وتفاعلية. تتضمّن الآن الصفحات التي تشرح طرق واجهة برمجة التطبيقات، مثل channels.list أو videos.rate، أداة تفاعلية تتيح لك عرض مقتطفات الرموز وتخصيصها بلغات Java وJavaScript وPHP وPython وRuby و"برمجة تطبيقات Google" وGo.

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

    يمكنك أيضًا التفاعل مع عيّنات التعليمات البرمجية:

    • عدِّل قيم المَعلمات والسمات، وسيتم تعديل مقتطفات الرموز ديناميكيًا لتعكس القيم التي تقدّمها.

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

    • تنفيذ الطلبات من خلال النقر على زر (لتنفيذ الطلبات، عليك منح الأداة الإذن بطلب واجهة برمجة التطبيقات نيابةً عنك).

    يُرجى العِلم أنّ هذه الأداة قد حلّت محلّ "مستكشف واجهات برمجة التطبيقات" في الصفحات التي تتوفّر فيها. (تعرض كل صفحة رابطًا يتيح لك أيضًا تحميل الطلب الذي تعمل عليه في "مستكشف واجهات برمجة التطبيقات").

  • تم أيضًا تعديل أداة مقتطفات رموز Data API بواجهة مستخدم جديدة تقدّم جميع الميزات نفسها الموضّحة أعلاه. في ما يلي الميزات الجديدة الرئيسية المتوفّرة في هذه الصفحة:

    • دعم طلبات البيانات من واجهة برمجة التطبيقات التي تكتب البيانات
    • دعم نماذج Java
    • رمز برمجي نموذجي أكثر مرونة وشمولية لمنح المستخدمين الإذن وإنشاء طلبات البيانات من واجهة برمجة التطبيقات

‫27 أبريل 2017

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

‫30 مارس 2017

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

  • يحتوي الموقع الجديد topicDetails.topicCategories[] لمورد channel على قائمة بعناوين URL لصفحات ويكيبيديا التي تصف محتوى القناة. تتوافق عناوين URL مع معرّفات المواضيع التي يتم عرضها في السمة topicDetails.topicIds[] للمرجع.
  • تحدّد السمة contentDetails.videoPublishedAt الجديدة لمورد playlistItem الوقت الذي تم فيه نشر الفيديو على YouTube. يحتوي المورد مسبقًا على السمة snippet.publishedAt التي تحدّد وقت إضافة العنصر إلى قائمة التشغيل.
  • على غرار المورد channel، يعرض المورد video الآن السمة topicDetails.topicCategories[] التي تحتوي على قائمة بعناوين URL لصفحات ويكيبيديا التي تصف محتوى الفيديو. بالنسبة إلى موارد video، تتوافق عناوين URL مع معرّفات المواضيع التي يتم عرضها في السمة topicDetails.relevantTopicIds[] للمورد.
  • تحدّد السمة contentDetails.contentRating.mpaatRating الجديدة لمورد video التقييم الذي منحته جمعية الفيلم الأمريكي (MPAA) لإعلان ترويجي لفيلم أو معاينة.

‫27 فبراير 2017

كما أعلنّا في 11 أغسطس 2016، بدّل YouTube قائمة معرّفات المواضيع المتوافقة إلى قائمة منظَّمة. يتم تضمين القائمة الكاملة لمعرّفات المواضيع المتوافقة في سمات topicDetails لموارد channel وvideo، وكذلك في المَعلمة topicId الخاصة بالطريقة search.list.

يُرجى العِلم أنّ هناك عدة تغييرات على القائمة المنظَّمة:

  • تمت إضافة المواضيع التالية كمواضيع فرعية لـ "Society":
    الاسمرقم تعريف الموضوع
    نشاط تجاري/m/09s1f
    صحة/m/0kt51
    عسكرية/m/01h6rj
    سياسة/m/05qt0
    دين/m/06bvp
  • تمت إزالة الموضوع "Animated cartoon" الذي كان موضوعًا فرعيًا من "Entertainment".
  • تمت إزالة الموضوع "Children's music" الذي كان موضوعًا فرعيًا من "Music".

نتيجةً لهذا التغيير، يتم الآن دائمًا عرض المواضيع المرتبطة بفيديو معيّن في قيمة السمة topicDetails.relevantTopicIds[] للمورد video.

‫29 نوفمبر 2016

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

  • هناك ثلاثة تغييرات صغيرة على قائمة معرّفات المواضيع التي ستكون متاحة اعتبارًا من 10 فبراير 2017:

    • أصبحت الفئة Professional wrestling، التي كانت في السابق فئة فرعية من الفئة Sports، فئة فرعية من Entertainment.
    • الفئة TV shows، وهي فئة فرعية من Entertainment، جديدة.
    • تمت إزالة الفئة "Health" التي كانت تابعة للفئة "Lifestyle".

    يُرجى العِلم أيضًا أنّ هناك بعض الفئات الرئيسية (Entertainment وGaming وLifestyle وMusic وSports). وأي فيديو مرتبط بفئة فرعية، مثل Tennis، سيكون مرتبطًا أيضًا بالفئة الرئيسية (Sports).

‫10 نوفمبر 2016

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

  • كما أعلنّا في 11 أغسطس 2016، يتطلّب إيقاف Freebase وواجهة برمجة التطبيقات Freebase API إجراء عدة تغييرات مرتبطة بمعرّفات المواضيع. تحدّد معرّفات المواضيع المواضيع المرتبطة بموارد channel وvideo، ويمكنك أيضًا استخدام مَعلمة البحث topicId للعثور على قنوات أو فيديوهات مرتبطة بموضوع معيّن.

    اعتبارًا من 10 فبراير 2017، سيبدأ YouTube في عرض مجموعة صغيرة من معرّفات المواضيع بدلاً من المجموعة الأكثر دقة من المعرّفات التي تم عرضها حتى الآن. بالإضافة إلى ذلك، يُرجى العِلم أنّه لا يمكن ضمان ربط القنوات والفيديوهات بأي مواضيع، وهو ما يتوافق مع سلوك واجهة برمجة التطبيقات الحالي.

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

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

    سيتم إيقاف السمات التالية نهائيًا:

    • السمة topicDetails.topicIds[] لمورد channel. ستكون هذه السمة متاحة حتى 10 نوفمبر 2017.
    • السمة topicDetails.relevantTopicIds[] لمورد video. ستكون هذه السمة متاحة حتى 10 نوفمبر 2017.
    • السمة topicDetails.topicIds[] لمورد video. لن يحتوي هذا الموقع على قيم بعد 10 فبراير 2017. (بعد ذلك التاريخ، ستحدّد قيمة السمة topicDetails.relevantTopicIds[] كل المواضيع المرتبطة بالفيديو).
  • بما أنّه تم إيقاف Freebase نهائيًا، تمت إزالة دليل البحث باستخدام مواضيع Freebase من المستندات. وقد قدّم هذا الدليل عيّنات تعليمات برمجية لتوضيح كيفية عمل التطبيق مع واجهة برمجة التطبيقات Freebase API.

    بالإضافة إلى ذلك، تمت إزالة العديد من عينات التعليمات البرمجية ذات الصلة بمعرّفات المواضيع من مستندات طريقة search.list.

‫2 نوفمبر 2016

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

  • المواقع والمَعلمات الجديدة

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

      • تحتوي السمة player.embedHtml على علامة <iframe> يمكنك استخدامها لتضمين مشغّل يعرض الفيديو. تحدّد السمتان الجديدتان player.embedHeight وplayer.embedWidth أبعاد المشغّل المضمّن. لا يتم عرض هذه السمات إلا إذا حدّد طلب البيانات من واجهة برمجة التطبيقات قيمة لمَعلمة واحدة على الأقل من المَعلمتَين maxHeight أو maxWidth. سيتم شرح هاتين المَعلمتين الجديدتين لاحقًا في إدخال سجلّ النُسخ السابقة هذا.

      • تشير السمة الجديدة hasCustomThumbnail إلى ما إذا كان القائم بتحميل الفيديو قد قدّم صورة مصغّرة مخصّصة للفيديو. يُرجى العِلم أنّ هذه السمة لا تظهر إلا للقائم بتحميل الفيديو.

      • يحدّد التصنيف الجديد fpbRatingReasons[] أسباب حصول الفيديو على تقييم من مجلس FPB (جنوب أفريقيا).

      • يحدّد العنصر الجديد mcstRating التقييم الذي حصل عليه الفيديو في فيتنام.

    • تتيح الطريقة videos.list استخدام مَعلمتَين جديدتَين، هما maxHeight وmaxWidth. يمكنك استخدام أيّ من المَعلمتَين أو كلتيهما عند استرداد الجزء player في موارد video.

      يكون الارتفاع التلقائي لـ <iframe> الذي يتم عرضه في السمة player.embedHtml هو 360 بكسل. يتم ضبط العرض ليتطابق مع نسبة العرض إلى الارتفاع في الفيديو، ما يضمن عدم ظهور أشرطة سوداء حول الفيديو في المشغّل المضمّن. على سبيل المثال، إذا كانت نسبة العرض إلى الارتفاع للفيديو هي 16:9، سيكون عرض المشغّل 640 بكسل.

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

      على سبيل المثال، لنفترض أنّ نسبة العرض إلى الارتفاع في الفيديو هي 16:9. وبالتالي، ستحتوي علامة player.embedHtml على مشغّل بحجم 640x360 إذا لم يتم ضبط المَعلمة maxHeight أو maxWidth.

      • إذا تم ضبط المَعلمة maxHeight على 720 ولم يتم ضبط المَعلمة maxWidth، ستعرض واجهة برمجة التطبيقات مشغّل فيديو بدقة 1280x720.
      • إذا تم ضبط المَعلمة maxWidth على 960، ولم يتم ضبط المَعلمة maxHeight، ستعرض واجهة برمجة التطبيقات مشغّل فيديو بدقة 960×540.
      • إذا تم ضبط المَعلمة maxWidth على 960، وتم ضبط المَعلمة maxHeight على 450، ستعرض واجهة برمجة التطبيقات مشغّل فيديو بدقة 800x450.

      تحدّد السمتان الجديدتان player.embedHeight وplayer.embedWidth، الموضّحتان أعلاه، أبعاد المشغّل.

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

    • تم تعديل وصف المورد channelSection للإشارة إلى أنّه يمكن للقناة إنشاء 10 رفوف كحدّ أقصى بدون ضبط بيانات الاستهداف، ويمكنها إنشاء 100 رف كحدّ أقصى باستخدام بيانات الاستهداف.

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

    • تم تصحيح تعريف السمة snippet.name في المورد i18nLanguage ليعكس أنّ القيمة تمثّل اسم لغة كما هو مكتوب باللغة المحدّدة في المَعلمة hl للطريقة i18nLanguage.list.

    • تم تعديل السمة contentDetails.note في المورد playlistItem للإشارة إلى أنّ الحد الأقصى لطول قيمة السمة هو 280 حرفًا.

    • تم إيقاف السمتَين contentDetails.startAt وcontentDetails.endAt لمورد playlistItem نهائيًا. يتم تجاهل هذه الحقول إذا تم ضبطها في طلبات playlistItems.insert أو playlistItems.update.

    • تتيح الطريقتان playlistItems.delete وplaylistItems.update الآن استخدام المَعلمة onBehalfOfContentOwner، والتي تتوافق مع عدة طرق أخرى. يجب أيضًا أن تكون الطلبات التي تستخدم هذه الطريقة مصرَّحًا بها باستخدام رمز مميّز يتيح الوصول إلى نطاق https://www.googleapis.com/auth/youtubepartner.

    • تم تعديل المَعلمتَين publishedBefore وpublishedAfter في طريقة search.list للإشارة إلى أنّ قيم المَعلمتَين شاملة. على سبيل المثال، إذا تم ضبط المَعلمة publishedBefore، ستعرض واجهة برمجة التطبيقات الموارد التي تم إنشاؤها قبل الوقت المحدّد أو في الوقت المحدّد.

    • تتيح السمة contentDetails.contentRating.grfilmRating في المورد video استخدام ثلاث قيم إضافية: grfilmK12 وgrfilmK15 وgrfilmK18.

    • تم تعديل وصف طريقة videos.insert للإشارة إلى أنّ الحد الأقصى لحجم ملفات الفيديوهات التي يتم تحميلها قد زاد من 64 غيغابايت إلى 128 غيغابايت.

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

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

      نوع الخطأ تفاصيل الخطأ الوصف
      forbidden (403) homeParameterDeprecated تعرض طريقة activities.list هذا الخطأ للإشارة إلى أنّ بيانات نشاط الصفحة الرئيسية للمستخدم غير متاحة من خلال واجهة برمجة التطبيقات هذه. قد يحدث هذا الخطأ إذا ضبطت المَعلمة home على true في طلب غير مصرَّح به.
      invalidValue (400) invalidContentDetails يعرض الإجراء playlistItems.insert هذا الخطأ للإشارة إلى أنّ عنصر contentDetails في الطلب غير صالح. يحدث هذا الخطأ عندما يتجاوز طول الحقل contentDetails.note‏ 280 حرفًا.
      forbidden (403) watchHistoryNotAccessible تعرض الطريقة playlistItems.list هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل "سجلّ المشاهدة"، ولكن لا يمكن استردادها باستخدام واجهة برمجة التطبيقات.
      forbidden (403) watchLaterNotAccessible تعرض طريقة playlistItems.list هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل "المشاهدة لاحقًا"، ولكن لا يمكن استردادها باستخدام واجهة برمجة التطبيقات.
      badRequest (400) uploadLimitExceeded تعرض الطريقة videos.insert هذا الخطأ للإشارة إلى أنّ القناة تجاوزت عدد الفيديوهات التي يمكنها تحميلها.
      forbidden (403) forbiddenEmbedSetting تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّ طلب البيانات من واجهة برمجة التطبيقات يحاول ضبط إعدادات تضمين غير صالحة للفيديو. يُرجى العِلم أنّ بعض القنوات قد لا تملك الإذن بتقديم مشغّلات مضمّنة لأحداث البث المباشر. لمزيد من المعلومات، يُرجى الانتقال إلى مركز مساعدة YouTube.
    • لم تعُد الطريقة playlistItems.insert تعرض رسالة خطأ إذا أدرجت فيديو مكرّرًا في قائمة تشغيل. كان هذا الخطأ يحدث سابقًا في بعض قوائم التشغيل، مثل الفيديوهات المفضّلة، التي لم تكن تسمح بالتكرار ولكن لم تعُد متاحة. بشكل عام، تسمح قوائم التشغيل بالفيديوهات المكرّرة.

  • تعديلات أخرى

    • تم تعديل إدخال سجلّ النُسخ السابقة في 15 سبتمبر 2016 لتوضيح أنّه عندما يتم تضمين السمتَين contentDetails.relatedPlaylists.watchHistory وcontentDetails.relatedPlaylists.watchLater للمورد channel في ردّ، تحتوي السمتان دائمًا على القيمتَين HL وWL على التوالي. بالإضافة إلى ذلك، لا يتم تضمين هذه السمات إلا إذا كان مستخدم مصرّح له يسترد بيانات عن قناته الخاصة.

‫15 سبتمبر 2016

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

  • تناول تحديث سجلّ النُسخ السابقة في 11 أغسطس 2016 عدة تغييرات متعلقة بمعرّفات المواضيع، بما في ذلك حقيقة أنّ مجموعة معرّفات المواضيع المتوافقة ستتغير اعتبارًا من 10 فبراير 2017. سيتم نشر قائمة المواضيع التي ستتم إتاحتها بحلول 10 نوفمبر 2016.

  • التغييرات التالية سارية الآن. تم الإعلان عن هذه التغييرات في تعديل سجلّ النُسخ السابقة في 11 أغسطس 2016:

    • إذا تم استدعاء الطريقة activities.list مع ضبط المَعلمة home على true، سيتضمّن الردّ من واجهة برمجة التطبيقات الآن عناصر مشابهة لما يظهر لمستخدم YouTube الذي سجّل خروجه على الصفحة الرئيسية.

      هذا تغيير بسيط يهدف إلى توفير تجربة مستخدم أفضل من السلوك الموضّح في تحديث سجلّ النُسخ السابقة في 11 أغسطس 2016. وقد نصّ هذا التعديل على أنّ الطلبات التي تستخدم المَعلمة home ستعرض قائمة فارغة.

    • تحتوي الآن السمتان contentDetails.relatedPlaylists.watchHistory وcontentDetails.relatedPlaylists.watchLater لمورد channel على القيمتَين HL وWL على التوالي لجميع القنوات.

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

      بالإضافة إلى ذلك، فإنّ طلبات استرداد تفاصيل قائمة التشغيل (playlists.list) أو عناصر قائمة التشغيل (playlistItems.list) لسجلّ المشاهدة في قناة أو قائمة تشغيل "المشاهدة لاحقًا" تعرض الآن قوائم فارغة. ينطبق هذا السلوك على القيم الجديدة، HL وWL، بالإضافة إلى أي أرقام تعريف لقوائم تشغيل "سجلّ المشاهدة" أو "المشاهدة لاحقًا" التي سبق أن خزّنها عميل واجهة برمجة التطبيقات.

  • لم يعُد يتم عرض الكائن fileDetails.recordingLocation لمورد video وخصائصه الفرعية. في السابق، كان بإمكان مالك الفيديو فقط استرداد هذه البيانات (مثل عنصر fileDetails الرئيسي).

‫11 أغسطس 2016

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

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

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

  • يؤدي إيقاف Freebase وواجهة برمجة التطبيقات Freebase API نهائيًا إلى إجراء عدة تغييرات مرتبطة بمعرّفات المواضيع. يتم استخدام معرّفات المواضيع في موارد وطُرق واجهة برمجة التطبيقات التالية:

    • يحدّد الجزء topicDetails من مورد channel المواضيع المرتبطة بالقناة.
    • يحدّد الجزء topicDetails من المورد video المواضيع المرتبطة بالفيديو.
    • تتيح لك المَعلمة topicId في طريقة search.list البحث عن فيديوهات أو قنوات مرتبطة بموضوع معيّن.

    في ما يلي التغييرات التي تم إجراؤها على هذه الميزات:

    • اعتبارًا من 10 فبراير 2017، سيبدأ YouTube في عرض مجموعة صغيرة من معرّفات المواضيع بدلاً من المجموعة الأكثر دقة من المعرّفات التي تم عرضها حتى الآن. ستحدّد هذه المجموعة من المواضيع المتوافقة تصنيفات عالية المستوى، مثل رياضة أو كرة السلة، ولكنّها لن تحدّد مثلاً فِرقًا أو لاعبين معيّنين. سنعلن عن مجموعة المواضيع المتوافقة ليكون لديك الوقت الكافي لإعداد تطبيقك لهذا التغيير.

    • يمكن استخدام أي معرّفات مواضيع في Freebase سبق أن استرددتها للبحث عن المحتوى حتى 10 فبراير 2017. ومع ذلك، بعد ذلك الوقت، لن تتمكّن من استخدام سوى مجموعة أصغر من المواضيع المحدّدة في العنصر السابق لاسترداد نتائج البحث حسب الموضوع.

    • بعد 10 فبراير 2017، إذا حاولت البحث عن نتائج باستخدام معرّف موضوع غير مضمّن في المجموعة الأصغر من معرّفات المواضيع المتوافقة، ستعرض واجهة برمجة التطبيقات مجموعة نتائج فارغة.

  • سيتم إيقاف العديد من حقول ومَعلمات واجهة برمجة التطبيقات نهائيًا اعتبارًا من 12 سبتمبر 2016:

    • أتاحت المَعلمة home في الطريقة activities.list لمستخدم مصرَّح له استرداد خلاصة الأنشطة التي تظهر على صفحة YouTube الرئيسية لهذا المستخدم. وستعرض الطلبات التي تستخدم هذه المَعلمة بعد 12 سبتمبر 2016 قائمة فارغة.

    • لا تظهر السمتان contentDetails.relatedPlaylists.watchHistory وcontentDetails.relatedPlaylists.watchLater لمورد channel إلا لمستخدم مصرَّح له باسترداد البيانات حول قناته الخاصة. بعد 12 سبتمبر 2016، ستعرض السمة contentDetails.relatedPlaylists.watchHistory القيمة HL وستعرض السمة contentDetails.relatedPlaylists.watchLater القيمة WL لكل القنوات.

      بعد 12 أيلول (سبتمبر) 2016، ستعرض طلبات استرداد تفاصيل قائمة التشغيل (playlists.list) لسجلّ المشاهدة أو قائمة التشغيل "المشاهدة لاحقًا" في قناة معيّنة قائمة فارغة. وبعد ذلك الوقت، ستؤدي طلبات استرداد عناصر قائمة التشغيل (playlistItems.list) في أيّ من قائمتَي التشغيل هاتين إلى عرض قائمة فارغة أيضًا. وينطبق ذلك على القيم الجديدة، HL وWL، بالإضافة إلى أي أرقام تعريف لسجلّ المشاهدة أو رقم تعريف قائمة التشغيل "المشاهدة لاحقًا" التي قد يكون عميل واجهة برمجة التطبيقات قد خزّنها.

    • لن يتم عرض الكائن fileDetails.recordingLocation الخاص بمورد video أو أي من سماته الفرعية بعد 12 سبتمبر 2016. لا يمكن استرداد هذه البيانات إلا من قِبل مالك الفيديو لأنّ عنصر fileDetails الرئيسي لا يمكن استرداده إلا من قِبل مالك الفيديو.

‫13 يونيو 2016

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

  • تم إيقاف السمة contentDetails.googlePlusUserId للمورد channel نهائيًا. في السابق، كانت السمة تظهر فقط إذا كانت القناة مرتبطة بملف شخصي على Google+‎. بعد الإيقاف النهائي، لن يتم تضمين السمة في أيّ من موارد channel.

  • تم إيقاف السمة snippet.authorGoogleplusProfileUrl للمورد comment نهائيًا. في السابق، كانت السمة تظهر فقط إذا كانت القناة مرتبطة بملف شخصي على Google+‎. بعد الإيقاف النهائي، لن يتم تضمين السمة في أيّ من موارد comment.

بما أنّه لن يتم عرض أيّ من هاتين السمتَين بعد الإيقاف النهائي، تمت إزالة كلتيهما من مستندات المرجع المقابلة.

‫31 مايو 2016

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

  • تستردّ المَعلمة myRecentSubscribers الجديدة في طريقة subscriptions.list قائمة بالمشتركين في قناة المستخدم الذي تمت مصادقته بترتيب زمني عكسي لوقت اشتراكهم في القناة.

    يُرجى العِلم أنّ المَعلمة الجديدة تتيح فقط استرداد آخر 1,000 مشترك في قناة المستخدم الذي تمّت مصادقته. لاسترداد قائمة كاملة بالمشتركين، استخدِم المَعلمة mySubscribers. لا تفرض هذه المَعلمة حدًا أقصى لعدد المشتركين الذين يمكن استردادهم، ولا تعرض المشتركين بترتيب معيّن.

  • تم تعديل تعريف السمة snippet.thumbnails.(key) للموارد activity وplaylistItem وplaylist وsearch result وthumbnail وvideo للإشارة إلى أنّ أحجامًا إضافية للصور المصغّرة تتوفّر لبعض الفيديوهات.

    • يبلغ عرض صورة standard ‏640 بكسل وارتفاعها 480 بكسل.
    • يبلغ عرض صورة maxres ‏1280 بكسل وارتفاعها 720 بكسل.
  • تم تعديل تعريف المَعلمة part الخاصة بالطريقة channelSection.list للإشارة إلى أنّه يمكن استرداد الجزء targeting بتكلفة تبلغ 2 وحدة من وحدات الحصة.

  • تعرض الطريقة videos.list الآن الخطأ محظور (403) عندما يحاول طلب غير مصرَّح به بشكل صحيح استرداد الأجزاء fileDetails أو processingDetails أو suggestions من مورد video. وتتوفّر هذه الأجزاء لمالك الفيديو فقط.

‫17 مايو 2016

توفّر أداة مقتطفات الرموز البرمجية في Data API الجديدة مقتطفات رموز برمجية قصيرة لحالات الاستخدام الشائعة في YouTube Data API. تتوفّر مقتطفات الرموز البرمجية حاليًا لجميع طرق واجهة برمجة التطبيقات المخصّصة للقراءة فقط في "برمجة تطبيقات Google" وGo وJavaScript وPHP وPython وRuby.

وتعرض الأداة لكل طريقة عينات تعليمات برمجية لحالة استخدام واحدة أو أكثر. على سبيل المثال، يوفّر خمسة مقتطفات رموز للطريقة search.list:

  • عرض قائمة بالفيديوهات حسب الكلمة الرئيسية
  • عرض قائمة بالفيديوهات حسب الموقع الجغرافي
  • عرض الأحداث المباشرة
  • البحث عن فيديوهات المستخدم الذي تمّت مصادقته
  • عرض الفيديوهات ذات الصلة

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

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

‫28 أبريل 2016

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

  • تحدّد السمة contentDetails.projection الجديدة للمورد video تنسيق عرض الفيديو. القيم الصالحة للسمة هي 360 وrectangular.

  • تم تعديل السمتَين recordingDetails.location وfileDetails.recordingLocation في مرجع video لتوضيح الفرق بينهما:

    • تحدّد السمة recordingDetails.location الموقع الجغرافي الذي يريد مالك الفيديو ربطه بالفيديو. يمكن تعديل هذا الموقع الجغرافي والبحث عنه في الفيديوهات العلنية، وقد يظهر للمستخدمين في الفيديوهات العلنية.
    • إنّ قيمة السمة fileDetails.recordingLocation غير قابلة للتغيير وتمثّل الموقع الجغرافي المرتبط بملف الفيديو الأصلي الذي تم تحميله. وتظهر هذه القيمة لمالك الفيديو فقط.

  • تم تعديل تعريف السمة contentDetails.relatedPlaylists.favorites في المورد channel للإشارة إلى أنّ قيمة السمة قد تحتوي على رقم تعريف قائمة التشغيل يشير إلى قائمة تشغيل فارغة لا يمكن جلبها. ويعود السبب في ذلك إلى أنّه تم إيقاف وظيفة الفيديوهات المفضّلة نهائيًا. يُرجى العِلم أنّ هذه السمة لا تخضع لسياسة الإيقاف النهائي لواجهة برمجة التطبيقات.

  • تم تعديل تعريف الخطأ ineligibleAccount، الذي يمكن أن تعرضه الطريقة comments.insert أو comments.update أو commentThreads.insert أو commentThreads.update، ليعكس أنّ الخطأ يحدث عندما لا يتم دمج حساب YouTube المستخدَم لمنح الإذن لطلب البيانات من واجهة برمجة التطبيقات مع حساب المستخدم على Google.

‫20 أبريل 2016

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

  • تم تعديل تعريف المَعلمة part في طريقة channels.update للإشارة إلى أنّ localizations هي أيضًا قيمة صالحة لهذه المَعلمة.

  • تم تعديل قسم استخدام الحصة في دليل "البدء" لربطه بـ Google Developer's Console، حيث يمكنك الاطّلاع على حصتك الفعلية واستخدام الحصة.

‫16 مارس 2016

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

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

    • تم تعديل مستندات مرجع channelBanner للإشارة إلى أنّ الحجم المقترَح لصورة بانر القناة التي يتم تحميلها هو 2560 × 1440 بكسل. لم يتغيّر الحدّ الأدنى للحجم (2048 × 1152 بكسل).

    • تحدّد السمة الجديدة snippet.customUrl لمورد channel عنوان URL المخصّص المرتبط بالقناة. (لا تملك بعض القنوات عناوين URL مخصّصة.) يشرح مركز مساعدة YouTube متطلبات الأهلية للحصول على عنوان URL مخصّص، بالإضافة إلى كيفية إعداد عنوان URL.

    • تم إيقاف الكائن brandingSettings.watch لمورد channel وجميع سماته الفرعية نهائيًا.

    • يتضمّن الآن ردّ من واجهة برمجة التطبيقات على طلب search.list السمة regionCode. تحدّد السمة رمز المنطقة الذي تم استخدامه لطلب البحث. يوجّه رمز المنطقة واجهة برمجة التطبيقات لعرض نتائج البحث للبلد المحدّد.

      قيمة السمة هي رمز بلد مكوّن من حرفَين وفقًا لمعيار ISO يحدّد المنطقة. تعرض الطريقة i18nRegions.list قائمة بالمناطق المعتمدة. تكون القيمة التلقائية US. إذا تم تحديد منطقة غير معتمَدة، قد يختار YouTube منطقة أخرى بدلاً من القيمة التلقائية لمعالجة الطلب.

    • تم تعديل تعريفَي السمتَين snippet.label وsnippet.secondaryReasons[].label في المورد videoAbuseReportReason للإشارة إلى أنّ السمتَين تحتويان على نص تصنيف مترجَم لأسباب الإبلاغ عن إساءة الاستخدام.

      بالإضافة إلى ذلك، تتيح طريقة videoAbuseReportReasons.list الآن استخدام المَعلمة hl التي تحدّد اللغة التي يجب استخدامها لنص التصنيف في الردّ من واجهة برمجة التطبيقات. القيمة التلقائية للمَعلمة هي en_US.

    • تحدّد السمة contentDetails.contentRating.ecbmctRating الجديدة في المورد video تقييم الفيديو الصادر عن مجلس التقييم والتصنيف التابع لوزارة الثقافة والسياحة في تركيا.

      بالإضافة إلى ذلك، تتيح سمات واجهة برمجة التطبيقات لأنظمة التقييم الأخرى استخدام قيم السمات الجديدة التالية:

      • contentDetails.contentRating.fpbRating (جنوب أفريقيا)
        التقييم: 10، قيمة السمة: fpb10
      • contentDetails.contentRating.moctwRating (تايوان)
        التقييم: R-12، قيمة السمة: moctwR12
      • contentDetails.contentRating.moctwRating (تايوان)
        التقييم: R-15، قيمة السمة: moctwR15
    • تحتوي السمة liveStreamingDetails.activeLiveChatId في المورد video على معرّف المحادثة المباشرة النشطة المرتبطة بالفيديو. لا تظهر قيمة السمة إلا إذا كان الفيديو بثًا مباشرًا حاليًا تم تفعيل المحادثة المباشرة فيه. بعد انتهاء البث والمحادثة المباشرة، لن يتم عرض السمة للفيديو.

    • تتيح السمة status.rejectionReason في المورد video استخدام القيمة الجديدة legal.

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

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest (400) notEditable تعرض الطرق channelSections.insert وchannelSections.update وchannelSections.delete هذا الخطأ للإشارة إلى أنّه لا يمكن إنشاء قسم القناة المحدّد أو تعديله أو حذفه.
    badRequest (400) styleRequired تعرض الطريقتان channelSections.insert وchannelSections.update هذا الخطأ للإشارة إلى أنّ المورد channelSection الذي تم إرساله في طلب البيانات من واجهة برمجة التطبيقات يجب أن يحدّد قيمة للسمة snippet.style.
    badRequest (400) typeRequired تعرض الطريقتان channelSections.insert وchannelSections.update هذا الخطأ للإشارة إلى أنّ المورد channelSection الذي تم إرساله في طلب البيانات من واجهة برمجة التطبيقات يجب أن يحدّد قيمة للسمة snippet.type.
    badRequest (400) processingFailure تعرض الطريقة commentThreads.list هذا الخطأ للإشارة إلى أنّ خادم واجهة برمجة التطبيقات تعذّر عليه معالجة الطلب بنجاح. على الرغم من أنّ هذا الخطأ قد يكون عابرًا، إلا أنّه يشير عادةً إلى أنّ الإدخال في الطلب غير صالح. تحقَّق من بنية مورد commentThread في نص الطلب للتأكّد من صلاحيته.
    forbidden (403) commentsDisabled تعرض طريقة commentThreads.list هذا الخطأ للإشارة إلى أنّ الفيديو الذي تم تحديده بواسطة المَعلمة videoId قد أوقف التعليقات.
    badRequest (400) commentTextTooLong تعرض طريقة commentThreads.insert هذا الخطأ للإشارة إلى أنّ مورد comment الذي يتم إدراجه يحتوي على عدد كبير جدًا من الأحرف في السمة snippet.topLevelComment.snippet.textOriginal.
    invalidValue (400) videoAlreadyInAnotherSeriesPlaylist تعرض الطريقة playlistItems.insert هذا الخطأ للإشارة إلى أنّ الفيديو الذي تحاول إضافته إلى قائمة التشغيل مُدرَج حاليًا في قائمة تشغيل أخرى لفيديوهات متسلسلة. يمكنك الانتقال إلى مركز مساعدة YouTube لمزيد من المعلومات حول قوائم التشغيل لفيديوهات متسلسلة.
    badRequest (400) subscriptionForbidden تعرض طريقة subscriptions.insert هذا الخطأ للإشارة إلى أنّك بلغت الحدّ الأقصى لعدد الاشتراكات أو أنّك أنشأت عددًا كبيرًا جدًا من الاشتراكات الحديثة. في الحالة الأخيرة، يمكنك إعادة محاولة إرسال الطلب بعد بضع ساعات.
    badRequest (400) invalidCategoryId تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّ السمة snippet.categoryId في المورد video الذي تم تحميله حدّدت معرّف فئة غير صالح. استخدِم طريقة videoCategories.list لاسترداد الفئات المتوافقة.
    badRequest (400) invalidDescription تعرض طريقة videos.update هذا الخطأ للإشارة إلى أنّ السمة snippet.description في مورد video الذي تم تحميله حدّدت قيمة غير صالحة.
    badRequest (400) invalidPublishAt تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّ السمة status.publishAt في المورد video الذي تم تحميله حدّدت وقت نشر مجدوَل غير صالح.
    badRequest (400) invalidRecordingDetails تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّ الكائن recordingDetails في مورد video الذي تم تحميله حدّد تفاصيل تسجيل غير صالحة.
    badRequest (400) invalidTags تعرض طريقة videos.update هذا الخطأ للإشارة إلى أنّ السمة snippet.tags في مورد video الذي تم تحميله حدّدت قيمة غير صالحة.
    badRequest (400) invalidTitle تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّ السمة snippet.title في المورد video الذي تم تحميله حدّدت عنوان فيديو غير صالح أو فارغ.
    badRequest (400) invalidVideoMetadata تعرض طريقة videos.update هذا الخطأ للإشارة إلى أنّ البيانات الوصفية للطلب غير صالحة. يحدث هذا الخطأ إذا كان الطلب يحدّث الجزء snippet من مورد video ولكن لا يضبط قيمة لكل من السمتَين snippet.title وsnippet.categoryId.

‫18 ديسمبر 2015

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

‫19 نوفمبر 2015

تتيح واجهة برمجة التطبيقات الآن إمكانية ضبط واسترداد نص مترجَم للسمتَين snippet.title وsnippet.description في الموردَين playlist وvideo، والسمة snippet.title في المورد channelSection، والسمة snippet.description في المورد channel.

  • ضبط العناوين والأوصاف المترجَمة

    يمكنك ضبط قيم مترجَمة لمورد معيّن عند استدعاء الطريقة insert أو update لهذا المورد. لضبط قيم مترجَمة لمورد معيّن، اتّبِع الخطوتَين التاليتَين:

    • تأكَّد من ضبط قيمة لسمة snippet.defaultLanguage الخاصة بالمورد. وتحدّد هذه السمة لغة السمتَين snippet.title وsnippet.description للمورد. يمكن أن تكون قيمتها أي لغة تطبيق متوافقة أو معظم رموز اللغات الأخرى وفقًا لمعيار ISO 639-1:2002. على سبيل المثال، إذا حمّلت فيديو يتضمّن عنوانًا ووصفًا باللغة الإنجليزية، عليك ضبط السمة snippet.defaultLanguage على en.

      ملاحظة حول تعديل موارد channel: لضبط السمة snippet.defaultLanguage لمورد channel، عليك تعديل السمة brandingSettings.channel.defaultLanguage.

    • أضِف العنصر localizations إلى المرجع الذي تريد تعديله. كل مفتاح عنصر هو سلسلة تحدّد لغة التطبيق أو رمز لغة ISO 639-1:2002، ويتم ربط كل مفتاح بعنصر يحتوي على العنوان (والوصف) المترجمَين للمورد.

      يضبط المقتطف النموذجي أدناه اللغة التلقائية للمرجع على الإنجليزية. ويضيف أيضًا عناوين وأوصافًا مترجَمة إلى الألمانية والإسبانية إلى الفيديو:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          ...
        },
        "localizations":
          "de": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          },
          "es": {
            "title": "Jugar al fútbol",
            "description": "Nosotros jugamos fútbol en el parque los domingos",
          }
        }
      }
    • ملاحظة مهمة: تذكَّر أنّه عند تعديل البيانات المترجَمة لمورد معيّن، يجب أن يتضمّن طلب البيانات من واجهة برمجة التطبيقات جميع النُسخ المترجَمة الحالية من البيانات. على سبيل المثال، إذا أرسلت طلبًا لاحقًا لإضافة بيانات باللغة البرتغالية إلى الفيديو في المثال أعلاه، يجب أن يتضمّن الطلب البيانات المترجَمة إلى الألمانية والإسبانية والبرتغالية.

  • استرداد القيم المترجَمة

    تتيح واجهة برمجة التطبيقات طريقتَين لاسترداد القيم المترجَمة لمورد معيّن:

    • أضِف المَعلمة hl إلى طلب channels.list أو channelSections.list أو playlists.list أو videos.list لاسترداد البيانات المترجَمة للغة تطبيق معيّنة يتيحها موقع YouTube الإلكتروني. إذا كانت تفاصيل المرجع المترجَمة متاحة بتلك اللغة، سيحتوي عنصر snippet.localized الخاص بالمرجع على القيم المترجَمة. ومع ذلك، إذا لم تكن التفاصيل المترجَمة متاحة، سيحتوي العنصر snippet.localized على تفاصيل المورد بلغته التلقائية.

      على سبيل المثال، لنفترض أنّ طلب videos.list استردّ بيانات الفيديو الموضّح أعلاه مع بيانات مترجَمة إلى الألمانية والإسبانية. إذا تم ضبط المَعلمة hl على de، سيتضمّن المورد البيانات التالية:

      {
        "kind": "youtube#video",
        ...
        "snippet": {
          "title": "Playing soccer",
          "description": "We play soccer in the park on Sundays.",
          "defaultLanguage": "en",
          "localized": {
            "title": "Fußball spielen",
            "description": "Wir spielen Fußball im Park am Sonntag"
          }
          ...
        }
      }

      ومع ذلك، إذا تم ضبط المَعلمة hl على fr، سيتضمّن العنصر snippet.localized العنوان والوصف باللغة الإنجليزية لأنّ الإنجليزية هي اللغة التلقائية للمرجع، ولا تتوفّر تفاصيل مترجَمة إلى الفرنسية.

      ملاحظة مهمة: لا تتيح المَعلمة hl سوى القيم التي تحدّد لغات التطبيق التي يتيحها موقع YouTube الإلكتروني. لتحديد ما إذا كان النص المترجَم متاحًا للغات أخرى، عليك استرداد الجزء localizations من المورد والفلترة لتحديد ما إذا كان النص المترجَم متوفّرًا.

      على سبيل المثال، عليك استرداد القائمة الكاملة للترجمات لتحديد ما إذا كان النص المترجَم متاحًا باللغة الإنجليزية الأبالاشية.

    • عند استرداد مورد، أدرِج localizations في قيمة المَعلمة part لاسترداد كل التفاصيل المترجَمة لهذا المورد. إذا كنت تستردّ بيانات مترجَمة للغة ليست من لغات تطبيق YouTube الحالية، عليك استخدام هذه الطريقة لاسترداد جميع الترجمات ثم الفلترة لتحديد ما إذا كانت البيانات المترجَمة المطلوبة متوفّرة.

  • الأخطاء المرتبطة بقيم النصوص المترجَمة

    تتيح واجهة برمجة التطبيقات أيضًا الأخطاء الجديدة التالية لقيم النصوص المترجَمة:

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest (400) defaultLanguageNotSetError يشير هذا الخطأ إلى أنّ الطلب الذي يحاول إدراج عنصر localizations أو تعديله لمورد معيّن يتعذّر تنفيذه لأنّ السمة snippet.defaultLanguage لم يتم ضبطها لهذا المورد. تتيح الطرق channels.update وchannelSections.insert وchannelSections.update وplaylists.insert وplaylists.update وvideos.insert وvideos.update عرض هذا الخطأ.
    badRequest (400) localizationValidationError يشير هذا الخطأ إلى تعذُّر التحقّق من صحة إحدى القيم في عنصر localizations الخاص بمورد معيّن. على سبيل المثال، قد يحدث هذا الخطأ إذا كان العنصر يحتوي على رمز لغة غير صالح. تتيح الطرق channels.update وchannelSections.insert وchannelSections.update وplaylists.insert وplaylists.update عرض هذا الخطأ.

‫4 نوفمبر 2015

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

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

    • تم تعديل المَعلمة order في الطريقة search.list للإشارة إلى أنّه في حال ترتيب أحداث البث المباشر حسب viewCount، يتم ترتيب نتائج واجهة برمجة التطبيقات حسب عدد المشاهدين المتزامنين لأحداث البث المباشر أثناء عرضها.

    • تم تعديل المَعلمة relatedToVideoId الخاصة بالطريقة search.list للإشارة إلى أنّه في حال ضبط المَعلمة، تكون المَعلمات الأخرى الوحيدة المتوافقة هي part وmaxResults وpageToken وregionCode وrelevanceLanguage وsafeSearch وtype (التي يجب ضبطها على video) وfields. لا يعكس هذا التعديل أي تغيير في سلوك واجهة برمجة التطبيقات.

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

      لا يعكس هذا التغيير أي تغيير في سلوك واجهة برمجة التطبيقات.

    • تم تعديل تعريف السمة status.publishAt في المورد video لإضافة الملاحظة التالية:

      • إذا ضبطت قيمة هذه السمة عند استدعاء الطريقة videos.update، يجب أيضًا ضبط قيمة السمة status.privacyStatus على private حتى إذا كان الفيديو خاصًا.
      • إذا كان الطلب يحدّد موعدًا لنشر فيديو في وقت سابق، يتم نشره على الفور. وبالتالي، فإنّ تأثير ضبط السمة status.publishAt على تاريخ ووقت في الماضي هو نفسه تأثير تغيير السمة privacyStatus للفيديو من private إلى public.
    • تحدّد السمة contentDetails.contentRating.cncRating في المورد video تقييم الفيديو من قِبل اللجنة الفرنسية لتصنيف الأفلام السينمائية (Commission de classification cinematographique). تحلّ هذه السمة محلّ السمة contentDetails.contentRating.fmocRating التي تم إيقافها نهائيًا.

    • تم تعديل تعريف السمة brandingSettings.channel.keywords لمورد channel ليعكس بشكل صحيح أنّ قيمة السمة تحتوي على قائمة سلاسل مفصولة بمسافة وليس قائمة قيم مفصولة بفاصلة، كما تم توثيقه سابقًا. لا يعكس هذا التعديل أي تغيير في سلوك واجهة برمجة التطبيقات.

    • تم تعديل مستندات طريقة thumbnails.set لتعكس بدقة أنّ نص الطلب يحتوي على الصورة المصغّرة التي يتم تحميلها وربطها بفيديو. لا يحتوي نص الطلب على مورد thumbnail. في السابق، كانت المستندات تشير إلى أنّه يجب عدم تقديم نص طلب عند استدعاء هذه الطريقة. لا يعكس هذا التعديل أي تغيير في سلوك واجهة برمجة التطبيقات.

    • تم تعديل وصف المورد activity ليعكس حقيقة أنّ الطريقة activities.list لا تتضمّن حاليًا موارد مرتبطة بالتعليقات الجديدة على الفيديوهات. تم أيضًا تعديل snippet.type وcontentDetails.comment للمرجع.

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

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

      تفاصيل الخطأ
      activities.insert
      رمز استجابة HTTPbadRequest (400)
      السببinvalidMetadata
      الوصفلا تتطابق السمة kind مع نوع رقم التعريف المقدَّم.
      commentThreads.update
      comments.insert
      comments.update
      رمز استجابة HTTPbadRequest (400)
      السببcommentTextTooLong
      الوصفيحتوي مورد comment الذي يتم إدراجه أو تعديله على عدد كبير جدًا من الأحرف في السمة snippet.topLevelComment.snippet.textOriginal.
      playlistItems.insert
      playlistItems.update
      رمز استجابة HTTPforbidden (403)
      السببplaylistItemsNotAccessible
      الوصفلم يتم تفويض الطلب بشكل صحيح لإدراج عنصر قائمة التشغيل المحدّد أو تعديله أو حذفه.
      playlists.delete
      playlists.insert
      playlists.update
      رمز استجابة HTTPbadRequest (400)
      السببplaylistForbidden
      الوصفهذه العملية محظورة أو لم يتم تفويض الطلب بشكل صحيح.
      search.list
      رمز استجابة HTTPbadRequest (400)
      السببinvalidLocation
      الوصفتم تنسيق قيمة المَعلمة location و/أو locationRadius بشكل غير صحيح.
      search.list
      رمز استجابة HTTPbadRequest (400)
      السببinvalidRelevanceLanguage
      الوصفتم تنسيق قيمة المَعلمة relevanceLanguage بشكل غير صحيح.
      subscriptions.insert
      رمز استجابة HTTPbadRequest (400)
      السببsubscriptionForbidden
      الوصف يحدث هذا الخطأ في أيّ من الحالات التالية:
      • سبق أن تمّ إعداد الاشتراك الذي تحاول إعداده.
      • لقد بلغت الحد الأقصى لعدد الاشتراكات
      • أنت تحاول الاشتراك في قناتك، وهذا غير مسموح به.
      • لقد أنشأت عددًا كبيرًا جدًا من الاشتراكات مؤخرًا، وعليك الانتظار بضع ساعات قبل إعادة محاولة إرسال الطلب.
      videos.update
      رمز استجابة HTTPbadRequest (400)
      السببinvalidDefaultBroadcastPrivacySetting
      الوصفيحاول الطلب ضبط إعداد خصوصية غير صالح للبث التلقائي.

‫28 أغسطس 2015

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

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

    • تم إيقاف السمة statistics.favoriteCount للمورد video نهائيًا.

      وفقًا لسياسة الإيقاف النهائي، ستظل هذه السمة مضمّنة في موارد video لمدة عام واحد على الأقل بعد هذا الإعلان. ومع ذلك، يتم الآن ضبط قيمة السمة دائمًا على 0.

‫7 أغسطس 2015

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

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

    • تم تعديل تعريف السمة snippet.tags[] في المورد video لتقديم المزيد من المعلومات حول كيفية احتساب خادم واجهة برمجة التطبيقات لطول قيمة السمة. يُرجى العِلم أنّ هذا التعديل لا يعكس تغييرًا في سلوك واجهة برمجة التطبيقات.

      على وجه التحديد، يوضّح التعريف الآن أنّه إذا كانت العلامة تحتوي على مسافة، يتعامل خادم واجهة برمجة التطبيقات مع قيمة العلامة كما لو كانت محاطة بعلامات اقتباس، ويتم احتساب علامات الاقتباس ضمن عدد الأحرف المسموح به. لذلك، لأغراض عدد الأحرف المسموح به، تحتوي العلامة Foo-Baz على سبعة أحرف، ولكن تحتوي العلامة Foo Baz على تسعة أحرف.

    • لم تعُد الطريقة commentThreads.insert تتيح استخدام المَعلمة shareOnGooglePlus التي كانت تشير سابقًا إلى ما إذا كان يجب نشر تعليق والردود عليه في الملف الشخصي للمؤلف على Google+‎ أيضًا. إذا أرسل طلب المَعلمة، يتجاهل خادم واجهة برمجة التطبيقات المَعلمة ولكنه يعالج الطلب.

‫18 يونيو 2015

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

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

    • تحدّد المَعلمة الجديدة order في الطريقة commentThreads.list الترتيب الذي يجب أن تدرج به واجهة برمجة التطبيقات سلاسل التعليقات في ردّ من واجهة برمجة التطبيقات. يمكن ترتيب سلاسل المحادثات حسب الوقت أو مدى الصلة بالموضوع. الإعداد التلقائي هو ترتيبها حسب الوقت.

    • تحدّد السمة الجديدة snippet.defaultAudioLanguage لمورد video اللغة المستخدَمة في المقطع الصوتي التلقائي للفيديو.

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

    • تتيح الآن الطرق captions.delete وcaptions.download وcaptions.insert وcaptions.list وcaptions.update استخدام المَعلمة onBehalfOfContentOwner، والتي تتيحها عدة طرق أخرى. يجب أيضًا أن تكون الطلبات التي تستخدم هذه الطريقة مصرَّحًا بها باستخدام رمز مميّز يتيح الوصول إلى نطاق https://www.googleapis.com/auth/youtubepartner.

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

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

      تفاصيل الخطأ
      videos.rate
      رمز استجابة HTTPbadRequest (400)
      السببemailNotVerified
      الوصفيجب أن يثبت المستخدم ملكية عنوان بريده الإلكتروني قبل تقييم الفيديو.
      videos.rate
      رمز استجابة HTTPbadRequest (400)
      السببvideoPurchaseRequired
      الوصفيمكن فقط للمستخدمين الذين استأجروا الفيديوهات تقييمها.
    • لم تعُد الطريقتان subscriptions.delete وsubscriptions.insert تتيحان الخطأين accountClosed وaccountSuspended.

‫27 أبريل 2015

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

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

    • يحتوي المورد الجديد videoAbuseReportReason على معلومات حول سبب الإبلاغ عن فيديو يتضمّن محتوًى مسيئًا. تتيح لك طريقة videoAbuseReportReasons.list استرداد قائمة بجميع الأسباب التي قد تؤدي إلى الإبلاغ عن الفيديوهات.

    • توفّر طريقة videos.reportAbuse الجديدة وسيلة للإبلاغ عن فيديو يتضمّن محتوًى مسيئًا. يحتوي نص الطلب على عنصر JSON يحدّد الفيديو الذي يتم الإبلاغ عنه بالإضافة إلى سبب اعتبار الفيديو يتضمّن محتوًى مسيئًا. يمكن الحصول على الأسباب الصالحة من طريقة videoAbuseReportReason.list الموضّحة أعلاه.

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

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

    • تؤدي مَعلمة الفلتر forDeveloper الجديدة في طريقة search.list إلى حصر عملية البحث في استرداد الفيديوهات التي تم تحميلها عبر تطبيق المطوّر أو موقعه الإلكتروني فقط. يمكن استخدام المَعلمة forDeveloper مع مَعلمات البحث الاختيارية، مثل المَعلمة q.

      بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو تم تحميله برقم المشروع المرتبط بتطبيق المطوّر في Google Developers Console.

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

      توفّر الميزة الجديدة وظائف مشابهة، ولكنّها ليست مطابقة، لوظائف علامات المطوّرين التي يتيحها الإصدار 2 من واجهة برمجة التطبيقات.

    • تتيح السمة snippet.country الجديدة لمورد channel لمالكي القنوات ربط قنواتهم ببلد معيّن.

      ملاحظة: لضبط السمة snippet.country لمورد channel، عليك تعديل السمة brandingSettings.channel.country.

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

      توفّر واجهة برمجة التطبيقات ثلاثة خيارات للاستهداف. يجب أن يستوفي المستخدم جميع إعدادات الاستهداف لكي يظهر له قسم في القناة.

    • تم تصحيح تعريف السمة contentDetails.duration لمورد video ليعكس أنّ القيمة يمكن أن تشير إلى الساعات والأيام وما إلى ذلك.

    • تم تصحيح المستندات الخاصة بالطرق channelSections.delete وplaylistItems.delete وplaylists.delete وsubscriptions.delete وvideos.delete لتوضيح أنّ هذه الطرق تعرض جميعها رمز الاستجابة 204 لبروتوكول HTTP ‏ (No Content) عند نجاحها.

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

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

      نوع الخطأ تفاصيل الخطأ الوصف
      badRequest (400) targetInvalidCountry تعرض الطريقتان channelSections.insert وchannelSections.update هذا الخطأ إذا كان مورد channelSection الذي تم إدراجه يحتوي على قيمة غير صالحة للسمة targeting.countries[].
      badRequest (400) targetInvalidLanguage تعرض الطريقتان channelSections.insert وchannelSections.update هذا الخطأ إذا كان مورد channelSection الذي تم إدراجه يحتوي على قيمة غير صالحة للسمة targeting.languages[].
      badRequest (400) targetInvalidRegion تعرض الطريقتان channelSections.insert وchannelSections.update هذا الخطأ إذا كان مورد channelSection الذي تم إدراجه يحتوي على قيمة غير صالحة للسمة targeting.regions[].
      badRequest (400) operationNotSupported تعرض الطريقة comments.insert هذا الخطأ إذا لم يتمكّن مستخدم واجهة برمجة التطبيقات من إدراج تعليق ردًا على التعليق ذي المستوى الأعلى الذي تحدّده السمة snippet.parentId. في مورد commentThread، تشير السمة snippet.canReply إلى ما إذا كان بإمكان المشاهد الحالي الردّ على سلسلة المحادثات.
      badRequest (400) invalidChannelId تعرض الطريقة search.list هذا الخطأ إذا حدّدت المَعلمة channelId في الطلب معرّف قناة غير صالح.
      badRequest (400) subscriptionForbidden تعرض طريقة subscriptions.insert هذا الخطأ إذا حاول مستخدم واجهة برمجة التطبيقات الاشتراك في قناته الخاصة.
    • لم تعُد طريقة captions.update تتيح الخطأين invalidMetadata وvideoNotFound.

‫16 أبريل 2015

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

  • تم تعديل دليل نقل البيانات لشرح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة التعليقات من الإصدار 2 من واجهة برمجة التطبيقات.

    يشير الدليل أيضًا إلى العديد من ميزات التعليقات التي لم تكن متاحة في الإصدار 2 من واجهة برمجة التطبيقات ولكنّها متاحة في الإصدار 3. ومن بينها:

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

  • تم تعديل دليل الاشتراك في الإشعارات الفورية ليعكس حقيقة أنّ الإشعارات يتم إرسالها فقط إلى مركز Google PubSubHubBub وليس أيضًا إلى مركز Superfeedr كما هو موضّح سابقًا.

‫9 أبريل 2015

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

  • تتيح لك موارد commentThread وcomment الجديدة في واجهة برمجة التطبيقات استرداد التعليقات وإدراجها وتعديلها وحذفها والإشراف عليها.

    • يحتوي المورد commentThread على معلومات حول سلسلة تعليقات على YouTube، والتي تتألف من تعليق رئيسي وردود على هذا التعليق، إن وُجدت. يمكن أن يمثّل مورد commentThread تعليقات حول فيديو أو قناة.

      التعليق الرئيسي والردود عليه هي في الواقع موارد comment متداخلة داخل المورد commentThread. تجدر الإشارة إلى أنّ المورد commentThread لا يحتوي بالضرورة على كل الردود على تعليق معيّن، وعليك استخدام الطريقة comments.list إذا أردت استرداد كل الردود على تعليق معيّن. بالإضافة إلى ذلك، لا تحتوي بعض التعليقات على ردود.

      تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد commentThread:

      • ‫commentThreads.list: استرداد قائمة بسلاسل التعليقات استخدِموا هذه الطريقة لاسترداد التعليقات المرتبطة بفيديو أو قناة معيّنة.
      • commentThreads.insert: لإنشاء تعليق جديد من المستوى الأعلى (استخدِم طريقة comments.insert للردّ على تعليق حالي).
      • ‫commentThreads.update: لتعديل تعليق في المستوى الأعلى

    • يحتوي المورد comment على معلومات حول تعليق واحد على YouTube. يمكن أن يمثّل مورد comment تعليقًا على فيديو أو قناة. بالإضافة إلى ذلك، يمكن أن يكون التعليق تعليقًا رئيسيًا أو ردًا على تعليق رئيسي.

      تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد comment:

      • comments.list: لاسترداد قائمة بالتعليقات استخدِموا هذه الطريقة لاسترداد جميع الردود على تعليق معيّن.
      • ‫comments.insert: لإنشاء ردّ على تعليق حالي
      • ‫comments.update: لتعديل تعليق
      • comments.markAsSpam: الإبلاغ عن تعليق واحد أو أكثر على أنّه غير مرغوب فيه
      • ‫comments.setModerationStatus: لضبط حالة الإشراف على تعليق واحد أو أكثر على سبيل المثال، يمكنك الموافقة على عرض تعليق بشكل علني أو رفض تعليق لأنّه غير مناسب للعرض. يجب أن يفوّض مالك القناة أو الفيديو المرتبط بالتعليقات طلب البيانات من واجهة برمجة التطبيقات.
      • ‫comments.delete: لحذف تعليق

    يُرجى العِلم أنّ نطاق https://www.googleapis.com/auth/youtube.force-ssl الجديد لواجهة برمجة التطبيقات، والموضَّح في سجلّ النُسخ السابقة في 2 أبريل 2015، مطلوب لطلبات الطرق comments.insert وcomments.update وcomments.markAsSpam وcomments.setModerationStatus وcomments.delete وcommentThreads.insert وcommentThreads.update.

  • يشرح دليل الاشتراك في الإشعارات الفورية الجديد الدعم الجديد الذي تقدّمه واجهة برمجة التطبيقات للإشعارات الفورية من خلال PubSubHubBub، وهو بروتوكول نشر/اشتراك من خادم إلى خادم للموارد التي يمكن الوصول إليها على الويب. يمكن لخادم ردّ الاتصال في PubSubHubBub تلقّي إشعارات بشأن خلاصة Atom عندما تنفّذ القناة أيًا من الأنشطة التالية:

    • تحميل فيديو
    • تعديل عنوان فيديو
    • تعديل وصف الفيديو

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

  • أصبح نطاق https://www.googleapis.com/auth/youtube.force-ssl الجديد لواجهة برمجة التطبيقات الآن نطاقًا صالحًا لأي طريقة من طرق واجهة برمجة التطبيقات التي كانت متوافقة سابقًا مع نطاق https://www.googleapis.com/auth/youtube.

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

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest (400) invalidRating تعرض طريقة videos.rate هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقّعة للمَعلمة rating.
  • لم تعُد طريقة subscriptions.insert تتيح استخدام الخطأ subscriptionLimitExceeded الذي كان يشير سابقًا إلى أنّ المشترك الذي تم تحديده في الطلب قد تجاوز الحدّ الأقصى لمعدّل الاشتراك.

‫2 أبريل 2015

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

  • يمثّل مورد captions الجديد مسار ترجمة وشرح على YouTube. يرتبط مسار الترجمة والشرح بفيديو واحد على YouTube.

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

  • تم أيضًا تعديل دليل نقل البيانات لشرح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة الترجمة والشرح في الإصدار 2 من واجهة برمجة التطبيقات.

  • يتطلّب نطاق https://www.googleapis.com/auth/youtube.force-ssl الجديد لواجهة برمجة التطبيقات أن يتم الاتصال بخادم واجهة برمجة التطبيقات عبر اتصال SSL.

    يمنح هذا النطاق الجديد إذن الوصول نفسه الذي يمنحه نطاق https://www.googleapis.com/auth/youtube. في الواقع، هذان النطاقان متطابقان من الناحية الوظيفية لأنّ خادم YouTube API متاح فقط من خلال نقطة نهاية HTTPS. نتيجةً لذلك، على الرغم من أنّ نطاق https://www.googleapis.com/auth/youtube لا يتطلّب اتصالاً عبر طبقة المقابس الآمنة (SSL)، لا توجد طريقة أخرى لإرسال طلب بيانات من واجهة برمجة التطبيقات.

    النطاق الجديد مطلوب لطلبات جميع طرق المورد caption.

‫11 مارس 2015

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

  • يحتوي دليل نقل البيانات إلى الإصدار الثالث من YouTube Data API على علامة تبويب جديدة باسم الميزات الجديدة في الإصدار الثالث من واجهة برمجة التطبيقات، والتي تعرض الميزات التي يتيحها الإصدار الثالث من واجهة برمجة التطبيقات والتي لم تكن متاحة في الإصدار الثاني. كانت الميزات نفسها مدرَجة سابقًا ولا تزال مدرَجة في علامات تبويب أخرى في الدليل. على سبيل المثال، تظهر الميزة الجديدة التي تشرح كيفية تعديل بيانات الحملة الترويجية ضمن الفيديو في القناة ضمن علامة التبويب القنوات (الملفات الشخصية) أيضًا.

  • تم تعديل دليل نقل البيانات إلى الإصدار الثالث من YouTube Data API للإشارة إلى أنّ الإصدار الثالث من واجهة برمجة التطبيقات سيتيح استخدام ميزة الإصدار الثاني التالية:

  • تم تعديل دليل نقل البيانات من الإصدار الثاني إلى الإصدار الثالث من YouTube Data API للإشارة إلى أنّ ميزات الإصدار الثاني التالية من واجهة برمجة التطبيقات لن تكون متاحة في الإصدار الثالث:

    • استرداد الفيديوهات المقترَحة: لا تستردّ واجهة برمجة التطبيقات v3 قائمة تحتوي فقط على الفيديوهات المقترَحة لمستخدم واجهة برمجة التطبيقات الحالي. ومع ذلك، يمكنك استخدام الإصدار 3 من واجهة برمجة التطبيقات للعثور على الفيديوهات المقترَحة من خلال طلب طريقة activities.list وضبط قيمة المَعلمة home على true.

      في الردّ من واجهة برمجة التطبيقات، يتوافق المرجع مع فيديو مقترَح إذا كانت قيمة السمة snippet.type هي recommendation. في هذه الحالة، ستتضمّن السمتان contentDetails.recommendation.reason وcontentDetails.recommendation.seedResourceId معلومات حول سبب اقتراح الفيديو. يُرجى العِلم أنّه ليس هناك ما يضمن أنّ الاستجابة ستحتوي على أي عدد معيّن من الفيديوهات المقترَحة.

    • استرداد اقتراحات القنوات

    • استرداد فيديوهات جديدة من القنوات التي اشتركت فيها: لا يسترد الإصدار الثالث من واجهة برمجة التطبيقات قائمة تحتوي فقط على الفيديوهات التي تم تحميلها مؤخرًا إلى القنوات التي اشترك فيها مستخدم واجهة برمجة التطبيقات. ومع ذلك، يمكنك استخدام الإصدار 3 من واجهة برمجة التطبيقات للعثور على فيديوهات جديدة من القنوات التي اشتركت فيها من خلال استدعاء الطريقة activities.list وضبط قيمة المَعلمة home على true.

      في الردّ من واجهة برمجة التطبيقات، يتوافق المورد مع فيديو جديد في القناة التي اشتركت فيها إذا كانت قيمة السمة snippet.type هي upload. يُرجى العِلم أنّه ليس هناك ما يضمن أنّ الاستجابة ستحتوي على أي عدد معيّن من فيديوهات الاشتراكات الجديدة.

    • دعم خلاصة RSS

    • الإشعارات الفورية لتعديلات الخلاصة: كانت واجهة برمجة التطبيقات v2 تتيح الإشعارات الفورية باستخدام بروتوكول Simple Update Protocol‏ (SUP) أو PubSubHubbub لمراقبة خلاصات أنشطة مستخدمي YouTube. وكانت الإشعارات تُرسَل عند الاشتراك في قنوات جديدة وعند تقييم الفيديوهات أو مشاركتها أو إضافتها إلى قائمة المحتوى المفضّل أو التعليق عليها أو تحميلها.

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

    • الموقع الجغرافي للقناة: استخدم الإصدار الثاني من واجهة برمجة التطبيقات العلامة <yt:location> لتحديد الموقع الجغرافي للمستخدم كما تم إدخاله في الملف الشخصي العلني للقناة على YouTube. على الرغم من أنّ بعض المطوّرين استخدموا هذا الحقل لربط قناة ببلد معيّن، لم يكن من الممكن استخدام بيانات الحقل باستمرار لهذا الغرض.

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

      سيوفّر الإصدار 3 من واجهة برمجة التطبيقات ميزة مشابهة، ولكنّها ليست متطابقة. على وجه التحديد، سيتمكّن المطوّر من البحث عن الفيديوهات التي تم تحميلها من خلال تطبيقه. بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو تم تحميله برقم المشروع المرتبط بتطبيق المطوّر في Google Developers Console. بعد ذلك، يستخدم المطوّر رقم المشروع نفسه للبحث عن الفيديوهات.

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

      هناك بعض الاستثناءات. تتم تلقائيًا إضافة فيديو تم تحميله حديثًا أو فيديو مفضّل أو فيديو أعجبك أو فيديو تمت مشاهدته مؤخرًا كأول عنصر (snippet.position=0) لأنواع قوائم التشغيل التالية. لذلك، يتم ترتيب كل قائمة من هذه القوائم بشكل فعّال من الأحدث إلى الأقدم استنادًا إلى أوقات إضافة العناصر إلى القائمة.

      • عمليات تحميل المستخدم
      • الفيديوهات المفضّلة
      • مقاطع فيديو أعجبتك
      • سجلّ المشاهدة

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

    • المعالجة على دفعات: يتيح الإصدار 3 من واجهة برمجة التطبيقات إحدى حالات استخدام المعالجة على دفعات التي كان يتيحها الإصدار 2 من واجهة برمجة التطبيقات. تتيح الطرق channels.list وchannelSections.list وguideCategories.list وplaylistItems.list وplaylists.list وsubscriptions.list وvideoCategories.list وvideos.list في الإصدار 3 من واجهة برمجة التطبيقات استخدام المَعلمة id التي يمكن استخدامها لتحديد قائمة معرّفات مفصولة بفواصل (معرّفات الفيديوهات ومعرّفات القنوات وما إلى ذلك). باستخدام هذه الطرق، يمكنك استرداد قائمة بموارد متعددة من خلال طلب واحد.

    من خلال هذه التغييرات، يحدّد الدليل الآن جميع الوظائف التي كانت متاحة في واجهة برمجة التطبيقات القديمة (الإصدار 2) والتي سيتم إيقافها نهائيًا في الإصدار الحالي من واجهة برمجة التطبيقات (الإصدار 3).

‫4 مارس 2015

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

  • تتيح الطريقتان channelSections.delete وchannelSections.update الآن استخدام المَعلمة onBehalfOfContentOwner، والتي تتوافق مع عدة طرق أخرى.

  • تم إيقاف المواقع الإلكترونية التالية ومواقعها الفرعية نهائيًا:

    • brandingSettings.image.backgroundImageUrl
    • brandingSettings.image.largeBrandedBannerImageImapScript
    • brandingSettings.image.largeBrandedBannerImageUrl
    • brandingSettings.image.smallBrandedBannerImageImapScript
    • brandingSettings.image.smallBrandedBannerImageUrl

    ملاحظة: لم تخضع أي من هذه السمات لسياسة الإيقاف النهائي لواجهة برمجة التطبيقات.

  • تحدّد السمة الجديدة contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons في المورد video الأسباب التي توضّح سبب حصول الفيديو على تقييم DJCQT (البرازيل).

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

    نوع الخطأ تفاصيل الخطأ الوصف
    notFound (404) channelNotFound تعرض الطريقة channels.update هذا الخطأ إذا كانت المَعلمة id في الطلب تحدّد قناة لا يمكن العثور عليها.
    badRequest (400) manualSortRequiredinvalidValue تعرض الطريقتان playlistItems.insert وplaylistItems.update هذا الخطأ إذا حاول الطلب ضبط موضع عنصر قائمة التشغيل، ولكن قائمة التشغيل لا تستخدم الترتيب اليدوي. على سبيل المثال، قد يتم ترتيب عناصر قائمة التشغيل حسب التاريخ أو مدى الرواج. يمكنك معالجة هذا الخطأ عن طريق إزالة العنصر snippet.position من المورد المُرسَل في نص الطلب. إذا أردت أن يكون لعنصر قائمة التشغيل موضع محدّد في القائمة، عليك أولاً تعديل إعداد ترتيب قائمة التشغيل إلى يدوي. يمكن تعديل هذا الخيار في مدير الفيديو في YouTube.
    forbidden (403) channelClosed تعرض الطريقة playlists.list هذا الخطأ إذا كانت المَعلمة channelId في الطلب تحدّد قناة تم إغلاقها.
    forbidden (403) channelSuspended تعرض طريقة playlists.list هذا الخطأ إذا كانت المَعلمة channelId في الطلب تحدّد قناة تم تعليقها.
    forbidden (403) playlistForbidden تعرض الطريقة playlists.list هذا الخطأ إذا كانت المَعلمة id في الطلب لا تتيح الطلب أو إذا لم يكن الطلب مصرَّحًا به بشكل صحيح.
    notFound (404) channelNotFound تعرض الطريقة playlists.list هذا الخطأ إذا كانت المَعلمة channelId في الطلب تحدّد قناة لا يمكن العثور عليها.
    notFound (404) playlistNotFound تعرض الطريقة playlists.list هذا الخطأ إذا كانت المَعلمة id في الطلب تحدّد قائمة تشغيل لا يمكن العثور عليها.
    notFound (404) videoNotFound تعرض الطريقة videos.list هذا الخطأ إذا كانت المَعلمة id في الطلب تحدّد فيديو لا يمكن العثور عليه.
    badRequest (400) invalidRating تعرض الطريقة videos.rate هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقّعة للمَعلمة rating.

‫2 مارس 2015

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

‫14 يناير 2015

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

  • تم تعديل دليل نقل البيانات إلى الإصدار الثالث من YouTube Data API لشرح كيفية استخدام الإصدار الثالث من واجهة برمجة التطبيقات لتحميل الفيديوهات باستخدام JavaScript. (يُرجى الاطّلاع على قسم تحميل فيديو للحصول على التفاصيل). يمكن مقارنة هذه الوظيفة بوظيفة التحميل المستند إلى المتصفّح التي يتيحها الإصدار 2 من واجهة برمجة التطبيقات. يُرجى العِلم أنّ هذا التغيير في دليل نقل البيانات لا يعكس تغييرًا فعليًا في واجهة برمجة التطبيقات، بل يعكس توفّر رمز نموذجي جديد لتحميل الفيديوهات باستخدام JavaScript من جهة العميل.

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

  • تم تعديل مستندات طريقة videos.insert لتشمل نموذج رمز JavaScript الجديد الموضّح أعلاه. تم أيضًا تعديل قائمة عيّنات رموز JavaScript في الإصدار الثالث من YouTube Data API.

‫11 نوفمبر 2014

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

  • تغيّرت تكلفة الحصة لطلب الطريقة search.list إلى 100 وحدة.

    ملاحظة مهمة: في كثير من الحالات، يمكنك استخدام طرق أخرى في واجهة برمجة التطبيقات لاسترداد المعلومات بتكلفة أقل من الحصة. على سبيل المثال، يمكنك استخدام الطريقتَين التاليتَين للعثور على الفيديوهات التي تم تحميلها إلى قناة GoogleDevelopers.

    • تكلفة الحصة: 100 وحدة

      استدعِ طريقة search.list وابحث عن GoogleDevelopers.

    • تكلفة الحصة: 6 وحدات

      استخدِم طريقة channels.list للعثور على معرّف القناة الصحيح. اضبط المَعلمة forUsername على GoogleDevelopers والمَعلمة part على contentDetails. في الردّ من واجهة برمجة التطبيقات، تحدّد السمة contentDetails.relatedPlaylists.uploads رقم تعريف قائمة التشغيل للفيديوهات التي تم تحميلها على القناة.

      بعد ذلك، استدعِ الطريقة playlistItems.list واضبط المَعلمة playlistId على رقم التعريف الذي تم تسجيله والمَعلمة part على snippet.

‫8 أكتوبر 2014

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

  • يحتوي المورد channel على سمتَين جديدتَين:

    • تشير السمة status.longUploadsStatus إلى ما إذا كانت القناة مؤهلة لتحميل فيديوهات تزيد مدّتها عن 15 دقيقة. لا يتم عرض هذه السمة إلا إذا سمح مالك القناة بطلب البيانات من واجهة برمجة التطبيقات. في ما يلي القيم الصالحة للسمة:

      • allowed: يمكن للقناة تحميل فيديوهات تزيد مدّتها عن 15 دقيقة.
      • ‫eligible: القناة مؤهلة لتحميل فيديوهات تزيد مدتها عن 15 دقيقة، ولكن يجب أولاً تفعيل الميزة.
      • disallowed: لا يمكن للقناة تحميل فيديوهات تزيد مدّتها عن 15 دقيقة أو أنّها غير مؤهّلة لذلك.

      يمكنك الاطّلاع على تعريف السمة لمزيد من المعلومات حول هذه القيم. يوفّر مركز مساعدة YouTube أيضًا معلومات أكثر تفصيلاً حول هذه الميزة.

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

  • تم تعديل تعريفَي السمتَين snippet.title وsnippet.categoryId في المورد video لتوضيح الطريقة التي تتعامل بها واجهة برمجة التطبيقات مع الطلبات المرسَلة إلى الطريقة videos.update. إذا طلبت هذه الطريقة لتعديل الجزء snippet من مورد video، يجب ضبط قيمة لكلّ من هاتين السمتَين.

    إذا حاولت تعديل الجزء snippet من مورد video ولم تضبط قيمة لكلتا السمتَين، ستعرض واجهة برمجة التطبيقات الخطأ invalidRequest. تم أيضًا تعديل وصف هذا الخطأ.

  • أصبح المورد video للسمة contentDetails.contentRating.oflcRating، الذي يحدّد تقييم الفيديو من مكتب تصنيف الأفلام والأدب في نيوزيلندا، يتيح الآن تقييمَين جديدَين: oflcRp13 وoflcRp16. وتتوافق هذه التصنيفات مع التصنيفَين RP13 وRP16 على التوالي.

  • تتيح طريقة channelBanners.insert الآن استخدام الخطأ التالي:

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest bannerAlbumFull يحتوي ألبوم "صورة قناة YouTube" الخاص بمالك القناة على عدد كبير جدًا من الصور. على مالك القناة الانتقال إلى http://photos.google.com، ثم إلى صفحة الألبومات، وإزالة بعض الصور من الألبوم المعنيّ.

‫12 سبتمبر 2014

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

  • تغيّرت تكلفة الحصة لطلب الطريقة search.list من وحدة واحدة إلى وحدتَين، بالإضافة إلى تكلفة أجزاء الموارد المحدّدة.

‫13 أغسطس 2014

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

  • تتيح طريقة subscriptions.insert الآن استخدام الخطأ التالي:

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest subscriptionLimitExceeded تجاوز المشترك المحدّد في الطلب الحدّ الأقصى لمعدّل الاشتراك. يمكنك محاولة الاشتراك في المزيد من القنوات بعد بضع ساعات.

‫12 أغسطس 2014

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

  • يشرح دليل جديد بعنوان نقل تطبيقك إلى YouTube Data API (الإصدار 3) كيفية استخدام YouTube Data API (الإصدار 3) لتنفيذ الوظائف المتاحة في YouTube Data API (الإصدار 2). تم إيقاف واجهة برمجة التطبيقات القديمة نهائيًا اعتبارًا من 4 مارس 2014. يهدف هذا الدليل إلى مساعدتك في نقل التطبيقات التي لا تزال تستخدم الإصدار 2 من واجهة برمجة التطبيقات إلى أحدث إصدار من واجهة برمجة التطبيقات.

‫8 يوليو 2014

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

  • تتيح طريقة playlists.insert الآن استخدام الخطأ التالي:

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

‫18 يونيو 2014

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

‫28 مايو 2014

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

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

    • تحدّد المَعلمة location إحداثيات خط العرض/خط الطول في وسط المنطقة الجغرافية الدائرية.

    • تحدّد المَعلمة locationRadius المسافة القصوى التي يمكن أن يبعدها الموقع الجغرافي المرتبط بالفيديو عن مركز المنطقة لكي يظهر الفيديو في نتائج البحث.

‫13 مايو 2014

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

  • تم تعديل السمة invideoPromotion.items[] في المورد channel للإشارة إلى أنّه يمكنك عادةً ضبط عنصر واحد فقط يتم الترويج له في قناتك. إذا حاولت إدراج عدد كبير جدًا من العناصر المروَّجة، ستعرض واجهة برمجة التطبيقات الخطأ tooManyPromotedItems الذي يتضمّن رمز حالة HTTP 400.

  • يمكن أن يحتوي مورد channelSection الآن على معلومات حول بعض الأنواع الجديدة من المحتوى المميّز. أصبحت السمة snippet.type في المورد channelSection تتيح الآن استخدام القيم التالية:

    • ‫postedPlaylists: قوائم التشغيل التي نشرها مالك القناة في خلاصة الأنشطة الخاصة بالقناة
    • ‫postedVideos: الفيديوهات التي نشرها مالك القناة في خلاصة أنشطة القناة
    • ‫subscriptions: القنوات التي اشترك فيها مالك القناة

  • تحدّد السمة contentDetails.contentRating.ifcoRating الجديدة في المورد video التقييم الذي حصل عليه الفيديو من مكتب تصنيف الأفلام الأيرلندي.

  • تم تعديل تعريف السمة position.cornerPosition لمورد watermark للإشارة إلى أنّ العلامة المائية تظهر دائمًا في أعلى يسار المشغّل.

  • تم تعديل تعريف المَعلمة q للطريقة search.list للإشارة إلى أنّ عبارة طلب البحث يمكن أن تستخدم عامل التشغيل المنطقي NOT (-) لاستبعاد الفيديوهات المرتبطة بعبارة بحث معيّنة. يمكن أن تستخدم القيمة أيضًا عامل التشغيل المنطقي OR (|) للعثور على الفيديوهات المرتبطة بإحدى عبارات البحث المتعددة.

  • تم تعديل تعريف السمة pageInfo.totalResults التي يتم عرضها في ردّ من واجهة برمجة التطبيقات على طلب search.list للإشارة إلى أنّ القيمة تقريبية وقد لا تمثّل قيمة دقيقة. بالإضافة إلى ذلك، الحد الأقصى للقيمة هو 1,000,000. يجب عدم استخدام هذه القيمة لإنشاء روابط تقسيم الصفحات. بدلاً من ذلك، استخدِم قيمتَي السمتَين nextPageToken وprevPageToken لتحديد ما إذا كان يجب عرض روابط تقسيم الصفحات.

  • تم تعديل الطريقتَين watermarks.set وwatermarks.unset للإشارة إلى أنّ واجهة برمجة التطبيقات تعرض رمز الاستجابة 204 لبروتوكول HTTP للطلبات الناجحة لهذه الطُرق.

‫2 مايو 2014

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

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

    تتيح واجهة برمجة التطبيقات طريقة لإدراج لغات التطبيقات المتوافقة. يمكن استخدام اللغات المتاحة كقيمة للمَعلمة hl عند طلب طرق واجهة برمجة التطبيقات، مثل videoCategories.list وguideCategories.list.

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

    تتيح واجهة برمجة التطبيقات طريقة لإدراج مناطق المحتوى المتوافقة. يمكن استخدام رموز المناطق المعتمدة كقيمة للمَعلمة regionCode عند استدعاء طرق واجهة برمجة التطبيقات، مثل search.list وvideos.list وactivities.list وvideoCategories.list.

‫7 أبريل 2014

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

  • يحتوي مورد channelSection الجديد على معلومات حول مجموعة من الفيديوهات التي اختارت القناة عرضها. على سبيل المثال، يمكن أن يعرض القسم أحدث الفيديوهات التي تم تحميلها على القناة أو الفيديوهات الأكثر رواجًا أو فيديوهات من قائمة تشغيل واحدة أو أكثر.

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

    تم أيضًا تعديل مستندات الأخطاء لوصف رسائل الخطأ التي تتيحها واجهة برمجة التطبيقات لهذه الطرق الجديدة تحديدًا.

  • تم تعديل تعريف الكائن fileDetails في المورد video لتوضيح أنّه لن يتم عرض هذا الكائن إلا إذا كانت قيمة السمة processingDetails.fileDetailsAvailability للفيديو هي available.

    وبالمثل، تم تعديل تعريف الكائن suggestions في المورد video لتوضيح أنّه لن يتم عرض هذا الكائن إلا إذا كانت قيمة السمة processingDetails.tagSuggestionsAvailability أو السمة processingDetails.editorSuggestionsAvailability للفيديو هي available.

  • تم تعديل مستندات الإجراءَين videos.insert وvideos.update لتوضيح أنّه يمكن ضبط السمة status.publishAt عند استدعاء هذين الإجراءَين.

  • تم تعديل تعريف العنصر invideoPromotion في المورد channel لتوضيح أنّه لا يمكن استرداد العنصر إلا من قِبل مالك القناة.

  • تم تعديل قائمة المَعلمات لطريقة videos.rate لتوضيح أنّ هذه الطريقة لا تتيح استخدام المَعلمة onBehalfOfContentOwner. كان هذا خطأ في المستندات لأنّ طلبات videos.rate التي تضبط هذه المَعلمة تعرض الخطأ 500.

‫31 مارس 2014

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

‫13 مارس 2014

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

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

  • تدرج المستندات الآن الحد الأقصى المسموح به لعدد الأحرف في السمات التالية:

    المورد الموقع الحدّ الأقصى للمدة
    channel invideoPromotion.items[].customMessage 40 حرفًا
    video snippet.title 100 حرف
    video snippet.description ‫5,000 بايت
    video snippet.tags ‫500 حرف: يُرجى العِلم أنّ قيمة السمة هي قائمة، وأنّ الفواصل بين العناصر في القائمة يتم احتسابها ضمن الحدّ الأقصى.
  • تم إيقاف السمة brandingSettings.watch.featuredPlaylistId للمورد channel نهائيًا. ستعرض واجهة برمجة التطبيقات خطأً إذا حاولت ضبط قيمتها.

  • تمت إضافة سمات المورد video التالية إلى قائمة القيم التي يمكن ضبطها عند إدراج فيديو أو تعديله:

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

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

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest (400) invalidCriteria تعرض طريقة channels.list هذا الخطأ إذا حدّد الطلب مَعلمات فلترة لا يمكن استخدامها معًا.
    badRequest (400) channelTitleUpdateForbidden تعرض الطريقة channels.update هذا الخطأ إذا حاولت تعديل الجزء brandingSettings من القناة وتغيير قيمة السمة brandingSettings.channel.title. (يُرجى العِلم أنّ واجهة برمجة التطبيقات لا تعرض الخطأ إذا حذفت السمة).
    badRequest (400) invalidRecentlyUploadedBy تعرض الطريقة channels.update هذا الخطأ إذا كانت السمة invideoPromotion.items[].id.recentlyUploadedBy تحدّد معرّف قناة غير صالح.
    badRequest (400) invalidTimingOffset تعرض طريقة channels.update هذا الخطأ إذا كان الجزء invideoPromotion يحدّد إزاحة توقيت غير صالحة.
    badRequest (400) tooManyPromotedItems تعرض طريقة channels.update هذا الخطأ إذا كان الجزء invideoPromotion يحدّد أكثر من العدد المسموح به من العناصر التي يتم الترويج لها.
    forbidden (403) promotedVideoNotAllowed تعرض الطريقة channels.update هذا الخطأ إذا كانت السمة invideoPromotion.items[].id.videoId تحدّد معرّف فيديو لا يمكن العثور عليه أو لا يمكن استخدامه كعنصر مروَّج.
    forbidden (403) websiteLinkNotAllowed تعرض الطريقة channels.update هذا الخطأ إذا كانت السمة invideoPromotion.items[].id.websiteUrl تحدّد عنوان URL غير مسموح به.
    required (400) requiredTimingType تعرض الطريقة channels.update هذا الخطأ إذا لم يحدّد الطلب إعدادات التوقيت التلقائية التي يجب أن يعرض YouTube فيها عنصرًا مروَّجًا.
    required (400) requiredTiming يجب أن تحدّد طريقة channels.update عنصر invideoPromotion.items[].timing لكل سلعة يتم الترويج لها.
    required (400) requiredWebsiteUrl يجب أن تحدّد طريقة channels.update سمة invideoPromotion.items[].id.websiteUrl لكل سلعة يتم الترويج لها.
    badRequest (400) invalidPublishAt تعرض الطريقة videos.insert هذا الخطأ إذا كانت البيانات الوصفية للطلب تحدّد وقت نشر مجدوَل غير صالح.

‫4 مارس 2014

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

‫5 ديسمبر 2013

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

  • تم تعديل مستندات طريقة search.list لتوضيح أنّه ليس عليك تحديد قيمة لمَعلمة فلتر واحدة بالضبط عند إرسال طلب بحث. بدلاً من ذلك، يمكنك ضبط قيمة لصفر من مَعلمات الفلتر أو لمَعلمة فلتر واحدة.

  • تم تعديل تعريفات مَعلمات الطريقة search.list للإشارة إلى أنّه يجب ضبط قيمة المَعلمة type على video إذا حدّدت أيضًا قيمة لأي من المَعلمات التالية:

    • eventType
    • videoCaption
    • videoCategoryId
    • videoDefinition
    • videoDimension
    • videoDuration
    • videoEmbeddable
    • videoLicense
    • videoSyndicated
    • videoType

  • تم خفض الحدّ الأدنى لحجم صور بانر القناة التي يتم تحميلها إلى 2048 بكسل × 1152 بكسل. (في السابق، كان الحدّ الأدنى للحجم هو 2120 × 1192 بكسل). بالإضافة إلى ذلك، يُرجى العِلم أنّ مستندات المرجع channel تحدّد الحد الأقصى لأحجام جميع صور البانر التي يتم عرضها من واجهة برمجة التطبيقات. على سبيل المثال، الحد الأقصى لحجم صورة brandingSettings.image.bannerTvImageUrl لتطبيقات التلفزيون هو 2120 بكسل × 1192 بكسل، ولكن قد تكون الصورة الفعلية بحجم 2048 بكسل × 1152 بكسل. يوفّر مركز مساعدة YouTube إرشادات إضافية لتحسين صورة القناة لعرضها على أنواع مختلفة من الأجهزة.

  • تم تعديل العديد من تعريفات سمات موارد channel لتعكس المعلومات التالية:

    • الحدّ الأقصى لطول قيمة السمة brandingSettings.channel.description هو 1,000 حرف.
    • الحد الأقصى لطول السمة brandingSettings.channel.featuredChannelsTitle هو 30 حرفًا.
    • يمكن الآن أن تدرج السمة brandingSettings.channel.featuredChannelsUrls[] ما يصل إلى 100 قناة.
    • يجب أن تحدّد قيمة السمة brandingSettings.channel.unsubscribedTrailer، في حال ضبطها، معرّف فيديو على YouTube يكون علنيًا أو غير مُدرَج ويملكه مالك القناة.

  • تتيح طريقة channels.update الآن إجراء تعديلات على السمة invideoPromotion.items[].promotedByContentOwner. تشير هذه السمة إلى ما إذا كان سيتم عرض اسم مالك المحتوى عند عرض الإعلان الترويجي. ويمكن ضبطها فقط إذا تم إرسال طلب البيانات من واجهة برمجة التطبيقات الذي يضبط قيمة السمة نيابةً عن مالك المحتوى باستخدام المَعلمة onBehalfOfContentOwner.

  • تتيح الطريقتان playlistItems.list وplaylistItems.insert الآن استخدام المَعلمة onBehalfOfContentOwner، والتي تتوافق مع عدة طرق أخرى.

  • يمكن الآن لسمة contentDetails.contentRating.acbRating تحديد تقييم من مجلس التصنيف الأسترالي (ACB) للأفلام أو من هيئة الاتصالات والإعلام الأسترالية (ACMA) للبرامج التلفزيونية المخصّصة للأطفال.

  • تحدّد السمتان الجديدتان contentDetails.contentRating.catvRating وcontentDetails.contentRating.catvfrRating التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف البرامج التلفزيونية الكندي ونظام تقييم Régie du cinéma باللغة الفرنسية، والذي يُستخدم في كيبيك على التوالي.

  • تشير السمة snippet.assignable الجديدة لمورد videoCategory إلى ما إذا كان يمكن ربط الفيديوهات المعدَّلة أو الفيديوهات التي تم تحميلها حديثًا بفئة الفيديو هذه.

  • تمت إضافة عيّنات تعليمات برمجية للطُرق التالية:

‫24 أكتوبر 2013

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

  • تتضمّن واجهة برمجة التطبيقات ميزتَين إضافيتَين مصمّمتَين للمساعدة في العثور على محتوى البث المباشر وعرضه:

    تشير السمة الجديدة snippet.liveBroadcastContent في نتائج البحث إلى ما إذا كان مورد الفيديو أو القناة يتضمّن محتوى بث مباشر. القيم الصالحة للسمة هي upcoming وactive وnone.

    • تشير السمة الجديدة snippet.liveBroadcastContent في المورد video إلى ما إذا كان الفيديو عبارة عن بث مباشر قادم أو نشط. توضّح القائمة أدناه القيم المحتملة للسمة:

      • ‫upcoming: الفيديو هو بث مباشر لم يبدأ بعد.
      • ‫active: الفيديو هو بث مباشر جارٍ.
      • ‫none: الفيديو ليس بثًا مباشرًا قادمًا أو نشطًا. ستكون هذه قيمة السمة لأحداث البث المكتملة التي لا تزال قابلة للعرض على YouTube.
    • السمة الجديدة liveStreamingDetails لمورد video هي عنصر يحتوي على بيانات وصفية حول بث فيديو مباشر. لاسترداد هذه البيانات الوصفية، يجب تضمين liveStreamingDetails في قائمة أجزاء الموارد الخاصة بقيمة المَعلمة part. تتضمّن البيانات الوصفية السمات الجديدة التالية:

      لاسترداد هذه البيانات الوصفية، يجب تضمين liveStreamingDetails في قيمة المَعلمة part عند استدعاء الطريقة videos.list أو videos.insert أو videos.update.

    يُرجى العِلم أنّه تم طرح ميزتَين أخريَين لتحديد محتوى البث المباشر في 1 أكتوبر 2013، وهما المَعلمة eventType للطريقة search.list والسمة snippet.liveBroadcastContent لنتيجة البحث.

  • تتيح الطريقة videos.insert الآن استخدام المَعلمة notifySubscribers التي تشير إلى ما إذا كان على YouTube إرسال إشعار بشأن الفيديو الجديد إلى المستخدمين المشتركين في قناة الفيديو. القيمة التلقائية للمَعلمة هي True، ما يشير إلى أنّه سيتم إرسال إشعارات إلى المشتركين بشأن الفيديوهات التي تم تحميلها حديثًا. ومع ذلك، قد يفضّل مالك القناة الذي يحمّل العديد من الفيديوهات ضبط القيمة على False لتجنُّب إرسال إشعار بشأن كل فيديو جديد إلى المشتركين في القناة.

  • تم تعديل قائمة السمات التي يمكن تعديلها عند استدعاء الإجراء channels.update لتشمل السمتَين invideoPromotion.items[].customMessage وinvideoPromotion.items[].websiteUrl. بالإضافة إلى ذلك، تم تعديل القائمة لتحديد سمات brandingSettings القابلة للتعديل. كانت سمات brandingSettings هذه قابلة للتعديل من قبل، لذا لا يعكس التغيير في المستندات تغييرًا في الوظائف الحالية لواجهة برمجة التطبيقات.

  • تتيح الآن الطرق playlists.insert وplaylists.update وplaylists.delete استخدام المَعلمة onBehalfOfContentOwner، والتي تتوافق مع عدة طرق أخرى.

  • تتيح طريقة playlists.insert الآن استخدام المَعلمة onBehalfOfContentOwnerChannel، والتي تتوافق مع عدة طرق أخرى.

  • أصبحت السمة contentDetails.contentRating.tvpgRating في المورد video تتيح استخدام القيمة pg14 التي تتوافق مع التقييم TV-14.

  • تم تصحيح تعريف السمة snippet.liveBroadcastContent، وهي جزء من نتائج البحث، ليعكس أنّ live هي قيمة صالحة للسمة، ولكن active ليست قيمة صالحة للسمة.

  • تتيح السمة contentDetails.contentRating.mibacRating في المورد video الآن تقييمَين إضافيَين:

    • ‫mibacVap (VAP): يجب أن يكون الأطفال برفقة شخص بالغ.
    • mibacVm6 (V.M.6): محتوى يقتصر على البالغين من العمر 6 سنوات أو أكبر
    • ‫mibacVm12 (V.M.12): محتوى يقتصر على البالغين من العمر 12 سنةً أو أكبر

  • تشير السمة invideoPromotion.items[].promotedByContentOwner الجديدة لمورد channel إلى ما إذا كان سيتم عرض اسم مالك المحتوى عند عرض الإعلان الترويجي. لا يمكن ضبط هذا الحقل إلا إذا تم إرسال طلب البيانات من واجهة برمجة التطبيقات الذي يضبط القيمة نيابةً عن مالك المحتوى. لمزيد من المعلومات، يُرجى الاطّلاع على المَعلمة onBehalfOfContentOwner.

‫1 أكتوبر 2013

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

  • يحتوي العنصر auditDetails الجديد لمورد channel على بيانات القناة التي ستقيّمها شبكة متعددة القنوات (MCN) أثناء تحديد ما إذا كانت ستقبل قناة معيّنة أو ترفضها. يُرجى العِلم أنّ أي طلب بيانات من واجهة برمجة التطبيقات يستردّ جزء المورد هذا يجب أن يوفّر رمز تفويض مميزًا يحتوي على نطاق https://www.googleapis.com/auth/youtubepartner-channel-audit. بالإضافة إلى ذلك، يجب إبطال أي رمز مميّز يستخدم هذا النطاق عندما تقرّر الشبكة المتعدّدة القنوات قبول القناة أو رفضها أو في غضون أسبوعين من تاريخ إصدار الرمز المميّز.

  • تتيح الآن السمة invideoPromotion.items[].id.type في المورد channel استخدام القيمة recentUpload، ما يشير إلى أنّ العنصر الذي تمّ الترويج له هو الفيديو الذي تمّ تحميله مؤخرًا من قناة محدّدة.

    تكون القناة تلقائيًا هي نفسها القناة التي تم ضبط بيانات الإعلان الترويجي ضمن الفيديو لها. ومع ذلك، يمكنك الترويج لأحدث فيديو تم تحميله من قناة أخرى من خلال ضبط قيمة السمة invideoPromotion.items[].id.recentlyUploadedBy الجديدة على معرّف القناة لتلك القناة.

  • يحتوي المورد channel على ثلاث سمات جديدة، وهي brandingSettings.image.bannerTvLowImageUrl وbrandingSettings.image.bannerTvMediumImageUrl وbrandingSettings.image.bannerTvHighImageUrl، تحدّد عناوين URL لصور البانر التي تظهر على صفحات القنوات في تطبيقات التلفزيون.

  • تشير السمة الجديدة snippet.liveBroadcastContent في نتائج البحث إلى ما إذا كان مورد الفيديو أو القناة يتضمّن محتوى بث مباشر. القيم الصالحة للسمة هي upcoming وactive وnone.

    • بالنسبة إلى مورد video، تشير القيمة upcoming إلى أنّ الفيديو هو بث مباشر لم يبدأ بعد، بينما تشير القيمة active إلى أنّ الفيديو هو بث مباشر جارٍ.
    • بالنسبة إلى مورد channel، تشير القيمة upcoming إلى أنّ القناة تتضمّن بثًا مجدولاً لم يبدأ بعد، بينما تشير القيمة acive إلى أنّ القناة تتضمّن بثًا مباشرًا جاريًا.

  • في المورد watermark، تم تغيير السمة targetChannelId من عنصر إلى سلسلة. بدلاً من أن تحتوي السمة على سمة فرعية تحدّد معرّف القناة على YouTube التي ترتبط بها صورة العلامة المائية، تحدّد السمة targetChannelId الآن هذه القيمة بنفسها. وبالتالي، تمت إزالة السمة targetChannelId.value الخاصة بالمورد.

  • تتيح طريقة thumbnails.set الآن استخدام المَعلمة onBehalfOfContentOwner، والتي تتوافق مع عدة طرق أخرى.

  • تتيح الطريقة search.list الآن استخدام المَعلمة eventType التي تقيّد عملية البحث لعرض أحداث البث النشطة أو القادمة أو المكتملة فقط.

  • تحدّد السمة الجديدة contentDetails.contentRating.mibacRating التقييم الذي حصل عليه الفيديو من وزارة الثقافة والسياحة الإيطالية (Ministero dei Beni e delle Attivita Culturali e del Turismo).

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

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest invalidImage تعرض طريقة thumbnails.set هذا الخطأ إذا كان محتوى الصورة المقدَّم غير صالح.
    forbidden videoRatingDisabled تعرض الطريقة videos.rate هذا الخطأ إذا كان مالك الفيديو الذي يتم تقييمه قد أوقف التقييمات لهذا الفيديو.

‫27 أغسطس 2013

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

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

    تتيح طريقة watermarks.set تحميل صورة العلامة المائية للقناة وضبطها. تحذف الطريقة watermarks.unset صورة العلامة المائية للقناة.

    تصف مستندات الأخطاء رسائل الخطأ التي تتيحها واجهة برمجة التطبيقات تحديدًا للطريقتَين watermarks.set وwatermarks.unset.

  • تحتوي السمة الجديدة statistics.hiddenSubscriberCount في المورد channel على قيمة منطقية تشير إلى ما إذا كان عدد المشتركين في القناة مخفيًا. وبالتالي، تكون قيمة السمة false إذا كان عدد المشتركين في القناة مرئيًا للجميع.

  • تتيح الطريقة playlists.list الآن استخدام المَعلمتَين onBehalfOfContentOwner وonBehalfOfContentOwnerChannel. تتوفّر كلتا المَعلمتَين لعدة طرق أخرى.

  • تتيح الطريقة videos.list الآن استخدام المَعلمة regionCode التي تحدّد منطقة المحتوى التي يجب استرداد قائمة الأغاني الرائجة لها. لا يمكن استخدام هذه المَعلمة إلا مع المَعلمة chart. قيمة المَعلمة هي رمز بلد وفقًا لمعيار ISO 3166-1 alpha-2.

  • يصف error documentation خطأ الطلب الشائع الجديد التالي، والذي قد يحدث لعدة طرق في واجهة برمجة التطبيقات:

    نوع الخطأ تفاصيل الخطأ الوصف
    forbidden insufficientPermissions النطاقات المرتبطة برمز OAuth 2.0 المميّز المقدَّم للطلب غير كافية للوصول إلى البيانات المطلوبة.

‫15 أغسطس 2013

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

  • يحتوي الكائن invideoPromotion في المورد channel على السمات الجديدة والمعدَّلة التالية:

    • تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد موقع إلكتروني كعنصر مروَّج له. لإجراء ذلك، اضبط قيمة السمة invideoPromotion.items[].id.type على website واستخدِم السمة الجديدة invideoPromotion.items[].id.websiteUrl لتحديد عنوان URL. استخدِم أيضًا السمة الجديدة invideoPromotion.items[].customMessage لتحديد رسالة مخصّصة يتم عرضها للعرض الترويجي.

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

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

    • تمت إعادة هيكلة السمات المتعلّقة بإعدادات توقيت عرض السلع المروّج لها أثناء تشغيل الفيديو:

      • تم نقل العنصر "invideoPromotion.timing" إلى "invideoPromotion.items[].timing". يتيح لك هذا العنصر الآن تخصيص بيانات التوقيت لكل عنصر مروَّج في قائمة invideoPromotion.items[].

      • يحدّد عنصر invideoPromotion.defaultTiming الجديد إعدادات التوقيت التلقائية لعرضك الترويجي. تحدّد هذه الإعدادات وقت عرض العنصر الذي يتم الترويج له أثناء تشغيل أحد فيديوهات قناتك. يمكنك إلغاء التوقيت التلقائي لأي عنصر معروض باستخدام العنصر invideoPromotion.items[].timing.

      • تحدّد السمة الجديدة invideoPromotion.items[].timing.durationMs مقدار الوقت بالمللي ثانية الذي يجب أن يظهر فيه الإعلان الترويجي. يحتوي العنصر invideoPromotion.defaultTiming أيضًا على الحقل durationMs الذي يحدّد المدة التلقائية لعرض العنصر الذي يتم الترويج له.

    • تم نقل السمتَين invideoPromotion.items[].type وinvideoPromotion.items[].videoId إلى العنصر invideoPromotion.items[].id.

  • تتيح الطريقة subscriptions.list الآن استخدام المَعلمتَين onBehalfOfContentOwner وonBehalfOfContentOwnerChannel. تتوفّر كلتا المَعلمتَين لعدة طرق أخرى.

  • في الردّ من واجهة برمجة التطبيقات على طلب thumbnails.set، تم تغيير قيمة السمة kind من youtube#thumbnailListResponse إلى youtube#thumbnailSetResponse.

  • تمت إضافة عيّنات تعليمات برمجية للطُرق التالية:

    يُرجى العِلم أنّه تمت أيضًا إزالة مثال Python لطريقة playlistItems.insert لأنّ الوظيفة التي عرضها تتم معالجتها الآن من خلال طريقة videos.rate.

  • يصف error documentation خطأ سياق الطلب الجديد التالي، والذي قد يحدث لأي طريقة من طرق واجهة برمجة التطبيقات تتيح استخدام مَعلمة الطلب mine:

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest invalidMine لا يمكن استخدام المَعلمة mine في الطلبات التي يكون فيها المستخدم الذي تمت مصادقته شريكًا في YouTube. يجب إزالة المَعلمة mine أو المصادقة كمستخدم YouTube من خلال إزالة المَعلمة onBehalfOfContentOwner أو العمل كإحدى قنوات الشريك من خلال تقديم المَعلمة onBehalfOfContentOwnerChannel إذا كانت متاحة للطريقة التي تم استدعاؤها.

‫8 أغسطس 2013

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

‫30 يوليو 2013

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

  • في مورد channelBanner، تم تغيير قيمة السمة kind من youtube#channelBannerInsertResponse إلى youtube#channelBannerResource. يتم عرض هذا المورد استجابةً لطلب channelBanners.insert.

  • تحدّد السمة brandingSettings.channel.profileColor الجديدة لمورد channel لونًا بارزًا يكمّل محتوى القناة. قيمة السمة هي علامة الجنيه الإسترليني (#) متبوعة بسلسلة سداسية عشرية من ستة أحرف، مثل #2793e6.

  • تتيح واجهة برمجة التطبيقات الآن تحديد ما إذا كان الاشتراك مخصّصًا لجميع أنشطة القناة أو لعمليات التحميل الجديدة فقط. تحدّد السمة الجديدة contentDetails.activityType في المورد subscription أنواع الأنشطة التي سيتم إرسال إشعارات بشأنها إلى المشترك. القيم الصالحة للسمة هي all وuploads.

  • تتيح طريقة videos.list استخدام مَعلمات جديدة لاسترداد قائمة بالفيديوهات الأكثر رواجًا على YouTube:

    • تحدّد المَعلمة chart قائمة الأغاني الرائجة التي تريد استردادها. القيمة الوحيدة المسموح بها حاليًا هي mostPopular. يُرجى العِلم أنّ المَعلمة chart هي مَعلمة فلترة، ما يعني أنّه لا يمكن استخدامها في الطلب نفسه مع مَعلمات الفلترة الأخرى (id وmyRating).
    • تحدّد المَعلمة videoCategoryId فئة الفيديو التي يجب استرداد الرسم البياني لها. لا يمكن استخدام هذه المَعلمة إلا مع المَعلمة chart. لا تقتصر الرسوم البيانية تلقائيًا على فئة معيّنة.

  • توفّر السمة topicDetails.relevantTopicIds[] الجديدة لمورد video قائمة بمعرّفات مواضيع Freebase ذات الصلة بالفيديو أو محتواه. قد يتم ذكر مواضيع هذه الفيديوهات أو ظهورها في الفيديو.

  • تمت إعادة تسمية السمة recordingDetails.location.elevation لمورد video إلى recordingDetails.location.altitude، وتمت إعادة تسمية السمة fileDetails.recordingLocation.location.elevation إلى fileDetails.recordingLocation.location.altitude.

  • يحدّد العنصر contentDetails.contentRating في المورد video التقييمات التي حصل عليها الفيديو ضمن أنظمة تقييم مختلفة، بما في ذلك تقييمات MPAA وتقييمات TVPG وما إلى ذلك. بالنسبة إلى كل نظام تقييم، تتيح واجهة برمجة التطبيقات الآن قيمة تقييم تشير إلى أنّه لم يتم تقييم الفيديو. يُرجى العِلم أنّه بالنسبة إلى تقييمات MPAA، غالبًا ما يتم استخدام التقييم "غير مصنَّف" لتحديد النُسخ غير المقتطعة من الأفلام التي حصلت نُسخها المقتطعة على تقييم رسمي.

  • تحدّد السمة contentDetails.contentRating.ytRating الجديدة لمورد video المحتوى المحظور على فئات عمرية معيّنة. ستكون قيمة السمة ytAgeRestricted إذا حدّد YouTube أنّ الفيديو يتضمّن محتوًى غير ملائم للمستخدمين دون 18 عامًا. إذا لم تكن السمة متوفّرة أو إذا كانت قيمتها فارغة، يعني ذلك أنّه لم يتم تحديد المحتوى على أنّه محظور على فئات عمرية معيّنة.

  • تم إيقاف المَعلمة mySubscribers الخاصة بطريقة channels.list نهائيًا. استخدِم الطريقة subscriptions.list والمَعلمة mySubscribers للحصول على قائمة بالمشتركين في قناة المستخدم الذي تمت مصادقته.

  • تتيح الآن الطرق channelBanners.insert وchannels.update وvideos.getRating وvideos.rate استخدام المَعلمة onBehalfOfContentOwner. تشير هذه المَعلمة إلى أنّ المستخدم الذي تمت مصادقته يتصرّف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة.

  • تم تعديل مستندات الطريقة channels.update لتوضيح أنّه يمكن استخدام هذه الطريقة لتعديل عنصر brandingSettings في المورد channel وسماته الفرعية. تعرض المستندات الآن أيضًا القائمة المعدَّلة للسمات التي يمكنك ضبطها لكائن invideoPromotion الخاص بمورد channel.

  • يصف error documentation الأخطاء الجديدة التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    forbidden accountDelegationForbidden هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. يشير ذلك إلى أنّ المستخدم الذي تمت مصادقته غير مصرّح له بالتصرّف نيابةً عن حساب Google المحدّد.
    forbidden authenticatedUserAccountClosed هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الخطأ إلى أنّ حساب المستخدم الذي تمّت مصادقته على YouTube مغلق. إذا كان المستخدم يتصرّف نيابةً عن حساب آخر على Google، يشير هذا الخطأ إلى أنّ الحساب الآخر مغلق.
    forbidden authenticatedUserAccountSuspended هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الخطأ إلى أنّ حساب المستخدم الذي تمّت مصادقته على YouTube معلّق. إذا كان المستخدم يتصرّف نيابةً عن حساب Google آخر، يشير هذا الخطأ إلى أنّ الحساب الآخر معلّق.
    forbidden authenticatedUserNotChannel هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الخطأ إلى أنّ خادم واجهة برمجة التطبيقات لا يمكنه تحديد القناة المرتبطة بطلب البيانات من واجهة برمجة التطبيقات. إذا كان الطلب مصرّحًا به ويستخدم المَعلمة onBehalfOfContentOwner، يجب أيضًا ضبط المَعلمة onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. لا يُسمح لمستخدم "نظام إدارة المحتوى" (CMS) باتخاذ إجراء نيابةً عن مالك المحتوى المحدّد.
    notFound contentOwnerAccountNotFound هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. لم يتم العثور على حساب مالك المحتوى المحدّد.
    badRequest invalidPart هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. تحدّد المَعلمة part في الطلب أجزاءً لا يمكن كتابتها في الوقت نفسه.
    badRequest videoChartNotFound تعرض الطريقة videos.list هذا الخطأ عندما يحدّد الطلب قائمة فيديوهات غير متوافقة أو غير متاحة.
    notFound videoNotFound تعرض الطريقة videos.update هذا الخطأ للإشارة إلى أنّه لا يمكن العثور على الفيديو الذي تحاول تعديله. تحقَّق من قيمة السمة id في نص الطلب للتأكّد من صحتها.

‫10 يونيو 2013

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

  • تتيح لك المَعلمة forUsername الجديدة في الطريقة channels.list استرداد معلومات عن قناة من خلال تحديد اسم المستخدم الخاص بها على YouTube.

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

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

  • أصبحت المَعلمة onBehalfOfContentOwner، التي كانت متوافقة سابقًا مع الطريقتَين channels.list وsearch.list، متوافقة الآن أيضًا مع الطرق videos.insert وvideos.update وvideos.delete. يُرجى العِلم أنّه عند استخدام هذه المَعلمة في طلب إلى طريقة videos.insert، يجب أن يحدّد الطلب أيضًا قيمة لمَعلمة onBehalfOfContentOwnerChannel الجديدة التي تحدّد القناة التي ستتم إضافة الفيديو إليها. يجب أن تكون القناة مرتبطة بمالك المحتوى الذي تحدّده المَعلمة onBehalfOfContentOwner.

    تشير المَعلمة إلى أنّ بيانات اعتماد التفويض الخاصة بالطلب تحدّد مستخدمًا في نظام إدارة محتوى YouTube يتصرّف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. يجب أن يكون حساب نظام إدارة المحتوى (CMS) الذي يصادق عليه المستخدم مرتبطًا بمالك المحتوى المحدّد على YouTube.

    هذه المَعلمة مخصّصة لشركاء المحتوى الذين يملكون ويديرون العديد من القنوات المختلفة على YouTube. تتيح هذه المَعلمة لهؤلاء الشركاء المصادقة مرة واحدة والوصول إلى جميع بيانات الفيديوهات والقنوات بدون الحاجة إلى تقديم بيانات اعتماد المصادقة لكل قناة على حدة.

    في ما يتعلق بهذا الإصدار تحديدًا، تتيح المَعلمة الآن لشريك المحتوى إدراج الفيديوهات أو تعديلها أو حذفها في أي من قنوات على YouTube التي يملكها الشريك.

  • يصف error documentation الأخطاء الجديدة التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    forbidden insufficientCapabilities هذا الخطأ ليس خاصًا بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الخطأ إلى أنّ مستخدم نظام إدارة المحتوى الذي يطلب واجهة برمجة التطبيقات لا يملك الأذونات الكافية لتنفيذ العملية المطلوبة. يرتبط هذا الخطأ باستخدام المَعلمة onBehalfOfContentOwner، وهي متاحة لعدة طرق في واجهة برمجة التطبيقات.
    unauthorized authorizationRequired تعرض الطريقة activities.list هذا الخطأ عندما يستخدم الطلب المَعلمة home ولكن لم يتم تفويضه بشكل صحيح.
  • في المورد channels، تمت إزالة السمة invideoPromotion.channelId لأنّه سبق تحديد معرّف القناة باستخدام السمة id للمورد.

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

‫22 مايو 2013

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

‫14 مايو 2013

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

  • تعرض الصفحات المستقلة الآن عينات تعليمات برمجية للغات Java و‎.NET وPHP وRuby.

  • تتضمّن الصفحة التي تعرض عيّنات التعليمات البرمجية بلغة Python الآن أمثلة على إضافة اشتراك وإنشاء قائمة تشغيل وتعديل فيديو.

‫10 مايو 2013

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

‫8 مايو 2013

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

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

    يمكنك استرداد هذه البيانات من خلال تضمين invideoPromotion في قيمة المَعلمة part في طلب channels.list.

  • يمكن استخدام طريقة channels.update الجديدة لتعديل بيانات الحملة الترويجية ضمن الفيديو في قناة معيّنة. يُرجى العِلم أنّ هذه الطريقة تتيح فقط تعديل الجزء invideoPromotion من المورد channel، ولا تتيح بعد تعديل الأجزاء الأخرى من هذا المورد.

‫2 مايو 2013

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

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

  • أصبحت موارد الاشتراك متوافقة الآن مع الجزء subscriberSnippet. يحتوي هذا العنصر على بيانات مقتطف الحاوية لقناة المشترك.

  • تتيح واجهة برمجة التطبيقات الآن استخدام طريقة videos.getRating التي تستردّ التقييمات التي منحها المستخدم الذي تمّت المصادقة عليه لقائمة تضمّ فيديو واحدًا أو أكثر.

  • تتيح لك المَعلمة myRating الجديدة في طريقة videos.list استرداد قائمة بالفيديوهات التي قيّمها المستخدم الذي تمّت مصادقته بتقييم like أو dislike.

    تُعتبر الآن كلّ من المَعلمة myRating والمَعلمة id مَعلمتَي فلترة، ما يعني أنّه يجب أن يحدّد طلب البيانات من واجهة برمجة التطبيقات مَعلمة واحدة فقط. (في السابق، كانت المَعلمة id مطلوبة لهذه الطريقة).

    تعرض الطريقة الخطأ forbidden للطلبات التي تحاول استرداد معلومات تقييم الفيديو ولكنها غير مصرّح لها بذلك بشكل صحيح.

  • مع طرح المَعلمة myRating، تم أيضًا تعديل طريقة videos.list لإتاحة تقسيم الصفحات. ومع ذلك، يُرجى العِلم أنّ مَعلمات التنقّل بين الصفحات لا تتوفّر إلا للطلبات التي تستخدم المَعلمة myRating. (لا تتوفّر مَعلمات ومعلومات التقسيم إلى صفحات للطلبات التي تستخدم المَعلمة id).

    • تحدّد المَعلمة maxResults الحد الأقصى لعدد الفيديوهات التي يمكن أن تعرضها واجهة برمجة التطبيقات في مجموعة النتائج، وتحدّد المَعلمة pageToken صفحة معيّنة في مجموعة النتائج التي تريد استردادها.

    • يحتوي الآن مورد youtube#videoListResponse، الذي يتم عرضه استجابةً لطلب videos.list، على عنصر pageInfo الذي يتضمّن تفاصيل مثل إجمالي عدد النتائج وعدد النتائج المضمّنة في مجموعة النتائج الحالية. يمكن أن يتضمّن مورد youtube#videoListResponse أيضًا السمتَين nextPageToken وprevPageToken، وتوفّر كلّ منهما رمزًا مميزًا يمكن استخدامه لاسترداد صفحة معيّنة في مجموعة النتائج.

  • تتيح الطريقة videos.insert استخدام المَعلمات الجديدة التالية:

    • ‫autoLevels: اضبط قيمة هذه المَعلمة على true لإعلام YouTube بتحسين إضاءة الفيديو وألوانه تلقائيًا.
    • ‫stabilize: اضبط قيمة المَعلمة هذه على true لإعلام YouTube بتعديل الفيديو من خلال إزالة الاهتزاز الناتج عن حركات الكاميرا.

  • تمت إضافة السمة channelTitle إلى snippet للمراجع التالية:

    • ‫playlistItem: تحدّد هذه السمة اسم القناة التي أضافت عنصر قائمة التشغيل.
    • ‫playlist: تحدّد هذه السمة اسم القناة التي أنشأت قائمة التشغيل.
    • ‫subscription: تحدّد هذه السمة اسم القناة التي تم الاشتراك فيها.

  • تمت إضافة عيّنات تعليمات برمجية للطُرق التالية:

  • تتيح لك المَعلمة mySubscribers الجديدة في الطريقة subscriptions.list استرداد قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه حاليًا. لا يمكن استخدام هذه المَعلمة إلا في طلب مصرَّح به بشكل صحيح.

    ملاحظة: تهدف هذه الوظيفة إلى استبدال المَعلمة mySubscribers المتاحة حاليًا للطريقة channels.list. سيتم إيقاف هذه المَعلمة نهائيًا.

  • في مورد video، لم تعد قيمة السمة unspecified قيمة محتملة لأي من السمات التالية:

  • طلبات البيانات من واجهة برمجة التطبيقات التي تحتوي على مَعلمة غير متوقّعة تعرض الآن الخطأ badRequest، والسبب الذي تم الإبلاغ عنه للخطأ هو unexpectedParameter.

  • تم تعديل الخطأ الذي تعرضه الطريقة playlistItems.insert عندما تتضمّن قائمة التشغيل الحد الأقصى المسموح به من العناصر. يتم الآن الإبلاغ عن الخطأ على أنّه خطأ forbidden، وسبب الخطأ هو playlistContainsMaximumNumberOfVideos.

‫19 أبريل 2013

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

  • تتيح طريقة videos.rate الجديدة للمستخدمين تقييم فيديو بـ like أو dislike أو إزالة تقييم من فيديو.

    تم أيضًا تعديل مستندات الأخطاء لإدراج الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لطلب إجراء videos.rate.

  • يتم الآن تحديد الصور المصغّرة في مستندات واجهة برمجة التطبيقات على أنّها مورد منفصل، وتتيح لك طريقة thumbnails.set الجديدة تحميل صورة مصغّرة مخصّصة للفيديو على YouTube وضبطها لفيديو معيّن.

    تم أيضًا تعديل مستندات الأخطاء لإدراج الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لطلب إجراء thumbnails.set.

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

  • يحدّد الجزء الجديد brandingSettings من مورد channel الإعدادات والنص والصور لصفحة القناة وصفحات مشاهدة الفيديوهات.

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

    • يغلّف الكائن status الجديد معلومات الحالة حول عنصر قائمة التشغيل، وتحدّد السمة status.privacyStatus حالة خصوصية عنصر قائمة التشغيل.

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

  • تم تعديل مستندات طريقة playlistItems.update لتوضيح أنّه يجب تحديد السمة snippet.resourceId في المورد المُرسَل كجسم الطلب.

  • تتيح طريقة search.list الآن الوظائف التالية:

    • تفرض المَعلمة الجديدة forMine قيودًا على عملية البحث لاسترداد فيديوهات المستخدم الذي تمت مصادقته فقط.

    • تتيح المَعلمة order الآن إمكانية ترتيب النتائج أبجديًا حسب العنوان (order=title) أو حسب عدد الفيديوهات بترتيب تنازلي (order=videoCount).

    • تشير المَعلمة الجديدة safeSearch إلى ما إذا كان يجب أن تتضمّن نتائج البحث محتوًى محظورًا.

  • تتيح طريقة videos.insert استخدام العديد من الأخطاء الجديدة، وهي مُدرَجة في الجدول أدناه:

    نوع الخطأ تفاصيل الخطأ الوصف
    badRequest invalidCategoryId تحدّد السمة snippet.categoryId معرّف فئة غير صالح. استخدِم طريقة videoCategories.list لاسترداد الفئات المتوافقة.
    badRequest invalidRecordingDetails يحدّد الحقل metadata تفاصيل تسجيل غير صالحة.
    badRequest invalidVideoGameRating تحدّد البيانات الوصفية للطلب تقييمًا غير صالح للعبة الفيديو.
    badRequest invalidVideoMetadata البيانات الوصفية للطلب غير صالحة.
  • تمّت إزالة المَعلمة onBehalfOfContentOwner من قائمة المَعلمات المتوافقة مع الطريقتَين videos.update وvideos.delete.

‫12 مارس 2013

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

  • تمت إضافة السمة channelTitle إلى snippet للمراجع التالية:

    • ‫activity: تحدّد هذه السمة اسم القناة المسؤولة عن النشاط.
    • ‫search: تحدّد هذه السمة اسم القناة المرتبطة بالمرجع الذي تحدّده نتيجة البحث.
    • ‫video: تحدّد هذه السمة اسم القناة التي حمّلت الفيديو.

  • تتيح الطريقة search.list استخدام المَعلمات الجديدة التالية:

    • تتيح لك المَعلمة channelType حصر عملية البحث عن القنوات لاسترداد جميع القنوات أو لاسترداد البرامج فقط.

    • تتيح لك المَعلمة videoType حصر عملية البحث عن الفيديوهات لاسترداد جميع الفيديوهات أو لاسترداد الأفلام فقط أو حلقات البرامج فقط.

  • تم تعديل تعريف الجزء recordingDetails من المورد video للإشارة إلى أنّه سيتم عرض العنصر للفيديو فقط إذا تم ضبط بيانات الموقع الجغرافي أو وقت التسجيل للفيديو.

  • تعرض طريقة playlistItems.update الآن خطأ invalidSnippet، والذي يتم عرضه إذا لم يحدّد طلب البيانات من واجهة برمجة التطبيقات مقتطفًا صالحًا.

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

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

      هذه المَعلمة مخصّصة لشركاء المحتوى الذين يملكون ويديرون العديد من القنوات المختلفة على YouTube. تتيح هذه المَعلمة لهؤلاء الشركاء المصادقة مرة واحدة والوصول إلى جميع بيانات الفيديوهات والقنوات بدون الحاجة إلى تقديم بيانات اعتماد المصادقة لكل قناة على حدة.

      تتيح الطرق channels.list وsearch.list وvideos.delete وvideos.list وvideos.update استخدام هذه المَعلمة.

    • توجّه المَعلمة managedByMe، المتوافقة مع الطريقة channels.list، واجهة برمجة التطبيقات لعرض كل القنوات التي يملكها مالك المحتوى الذي تحدّده المَعلمة onBehalfOfContentOwner.

    • توجّه المَعلمة forContentOwner، المتوافقة مع الطريقة search.list، واجهة برمجة التطبيقات إلى حصر نتائج البحث بالمصادر التي يملكها مالك المحتوى المحدّد في المَعلمة onBehalfOfContentOwner.

‫25 فبراير 2013

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

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

    • توفّر الأجزاء الجديدة fileDetails وprocessingDetails وsuggestions معلومات لمالكي الفيديوهات حول الفيديوهات التي حمّلوها. هذه البيانات مفيدة جدًا في التطبيقات التي تتيح تحميل الفيديوهات، وتشمل ما يلي:

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

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

      • يحتوي الكائن fileDetails على معلومات حول ملف الفيديو الذي تم تحميله إلى YouTube، بما في ذلك درجة دقة الملف ومدته وبرامج ترميز الصوت والفيديو ومعدلات نقل البيانات في البث وغير ذلك.

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

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

      • يحتوي العنصر suggestions على اقتراحات تحدّد فرصًا لتحسين جودة الفيديو أو البيانات الوصفية للفيديو الذي تم تحميله.

    • يحتوي الجزء contentDetails على أربع سمات جديدة. يمكن استرداد هذه السمات من خلال طلبات غير مصادَق عليها.

      • ‫dimension: تشير إلى ما إذا كان الفيديو متاحًا بتقنية ثنائية الأبعاد أو ثلاثية الأبعاد.
      • ‫definition: تشير إلى ما إذا كان الفيديو متاحًا بدقة عادية أو عالية.
      • ‫caption: يشير إلى ما إذا كانت الترجمة متاحة للفيديو.
      • ‫licensedContent: تشير إلى ما إذا كان الفيديو يتضمّن محتوًى طالب بملكيته شريك محتوى على YouTube.

    • يحتوي الجزء status على سمتَين جديدتَين. يمكن لمالكي الفيديوهات ضبط قيم لكلتا السمتَين عند إدراج فيديو أو تعديله. يمكن أيضًا استرداد هذه السمات من خلال طلبات غير مصادَق عليها.

      • ‫embeddable: يشير إلى ما إذا كان يمكن تضمين الفيديو في موقع إلكتروني آخر.
      • ‫license: تحدّد ترخيص الفيديو. القيمتان الصالحتان هما creativeCommon وyoutube.

  • تم تعديل تعريف المَعلمة part للطرق videos.list وvideos.insert وvideos.update من أجل إدراج الأجزاء المُضافة حديثًا والموضّحة أعلاه، بالإضافة إلى الجزء recordingDetails الذي تم حذفه عن غير قصد.

  • تحدّد السمة الجديدة contentDetails.googlePlusUserId لمورد channel معرّف الملف الشخصي على Google+‎ المرتبط بالقناة. يمكن استخدام هذه القيمة لإنشاء رابط يؤدي إلى الملف الشخصي على Google+‎.

  • يحدّد الآن كل عنصر صورة مصغّرة عرض الصورة وارتفاعها. يتم حاليًا عرض الصور المصغّرة في الموارد activity وchannel وplaylist وplaylistItem وsearch result وsubscription وvideo.

  • تتيح الآن طريقة playlistItems.list استخدام المَعلمة videoId التي يمكن استخدامها مع المَعلمة playlistId لاسترداد عنصر قائمة التشغيل الذي يمثّل الفيديو المحدّد فقط.

    تعرض واجهة برمجة التطبيقات الخطأ notFound إذا تعذّر العثور على الفيديو الذي تحدّده المَعلمة في قائمة التشغيل.

  • توضّح مستندات الأخطاء خطأ forbidden جديدًا يشير إلى أنّ الطلب غير مصرَّح به بشكل صحيح لتنفيذ الإجراء المطلوب.

  • تمت إزالة السمة snippet.channelId من المورد channel. وتوفّر السمة id للمرجع القيمة نفسها.

‫30 يناير 2013

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

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

‫16 يناير 2013

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

  • تتوفّر الآن عيّنات تعليمات برمجية للطُرق واللغات الموضّحة في القائمة أدناه:

  • يمكن الآن لمورد activity الإبلاغ عن إجراء channelItem، والذي يحدث عندما يضيف YouTube فيديو إلى قناة على YouTube تم إنشاؤها تلقائيًا. (يحدّد YouTube باستخدام الخوارزميات المواضيع التي تجذب المستخدمين بشكل ملحوظ على موقعه الإلكتروني وينشئ تلقائيًا قنوات لهذه المواضيع).

  • تم تعديل المَعلمات التالية في "search.list":

    • لم تعُد المَعلمة q مصنّفة كفلتر، ما يعني ....
    • تمّت إعادة تسمية المَعلمة relatedToVideo لتصبح relatedToVideoId.
    • تم استبدال المَعلمة published بمَعلمتَين جديدتَين، هما publishedAfter وpublishedBefore، والموضّحتَين أدناه.

  • تتيح الطريقة search.list استخدام المَعلمات الجديدة التالية:

    اسم المعلَمة القيمة الوصف
    channelId string عرض الموارد التي أنشأتها القناة المحدّدة
    publishedAfter datetime لعرض الموارد التي تم إنشاؤها بعد الوقت المحدّد
    publishedBefore datetime عرض الموارد التي تم إنشاؤها قبل الوقت المحدّد
    regionCode string لعرض الموارد الخاصة بالبلد المحدّد
    videoCategoryId string تتم فلترة نتائج البحث عن الفيديوهات لتشمل فقط الفيديوهات المرتبطة بفئة الفيديو المحدّدة.
    videoEmbeddable string تتم فلترة نتائج البحث عن الفيديوهات لتشمل فقط الفيديوهات التي يمكن تشغيلها في مشغّل مضمّن في صفحة ويب. اضبط قيمة المَعلمة على true لاسترداد الفيديوهات القابلة للتضمين فقط.
    videoSyndicated string تتم فلترة نتائج البحث عن الفيديوهات لتشمل فقط الفيديوهات التي يمكن تشغيلها خارج YouTube.com. اضبط قيمة المَعلمة على true لاسترداد الفيديوهات المشتركة فقط.
  • تتيح العديد من موارد واجهة برمجة التطبيقات استخدام سمات جديدة. يحدّد الجدول أدناه الموارد وسماتها الجديدة:

    المورد اسم السمة القيمة الوصف
    activity contentDetails.playlistItem.playlistItemId string معرّف عنصر قائمة التشغيل الذي عيّنه YouTube لتعريف العنصر بشكل فريد في قائمة التشغيل
    activity contentDetails.channelItem object عنصر يحتوي على معلومات عن مورد تمت إضافته إلى قناة لا تظهر هذه السمة إلا إذا كانت قيمة snippet.type هي channelItem.
    activity contentDetails.channelItem.resourceId object عنصر يحدّد المورد الذي تمت إضافته إلى القناة ومثل سمات resourceId الأخرى، تحتوي هذه السمة على سمة kind تحدّد نوع المورد، مثل فيديو أو قائمة تشغيل. ويحتوي أيضًا على سمة واحدة بالضبط من بين عدة سمات، مثل videoId وplaylistId وما إلى ذلك، تحدّد المعرّف الذي يميّز هذا المورد بشكل فريد.
    channel status object يحتوي هذا العنصر على معلومات حول حالة خصوصية القناة.
    channel status.privacyStatus string حالة خصوصية القناة القيمتان الصالحتان هما private وpublic.
    playlist contentDetails object يحتوي هذا العنصر على بيانات وصفية حول محتوى قائمة التشغيل.
    playlist contentDetails.itemCount unsigned integer عدد الفيديوهات في قائمة التشغيل
    playlist player object يحتوي هذا العنصر على معلومات يمكنك استخدامها لتشغيل قائمة التشغيل في مشغّل مضمّن.
    playlist player.embedHtml string علامة <iframe> تضمن مشغّل فيديو يشغّل قائمة التشغيل
    video recordingDetails object يحتوي هذا العنصر على معلومات تحدّد أو تصف مكان ووقت تسجيل الفيديو.
    video recordingDetails.location object يحتوي هذا العنصر على معلومات رصد الموقع الجغرافي المرتبطة بالفيديو.
    video recordingDetails.location.latitude double خط العرض بالدرجات
    video recordingDetails.location.longitude double خط الطول بالدرجات
    video recordingDetails.location.elevation double الارتفاع فوق سطح الأرض، بالأمتار
    video recordingDetails.locationDescription string وصف نصي للموقع الجغرافي الذي تم فيه تسجيل الفيديو
    video recordingDetails.recordingDate datetime تاريخ ووقت تسجيل الفيديو يتم تحديد القيمة بتنسيق ISO 8601 ‏(YYYY-MM-DDThh:mm:ss.sZ).
  • تحدّد الآن المستندات الخاصة بعدة طرق لواجهة برمجة التطبيقات السمات التي يجب تحديدها في نص الطلب أو التي يتم تعديلها استنادًا إلى القيم في نص الطلب. يسرد الجدول أدناه هذه الطرق بالإضافة إلى السمات المطلوبة أو القابلة للتعديل.

    ملاحظة: قد تتضمّن مستندات الطرق الأخرى السمات المطلوبة والقابلة للتعديل.

    الطريقة الخصائص
    activities.insert السمات المطلوبة:
    • snippet.description
    السمات القابلة للتعديل:
    • snippet.description
    • contentDetails.bulletin.resourceId
    playlists.update السمات المطلوبة:
    • id
    playlistItems.update السمات المطلوبة:
    • id
    videos.update السمات المطلوبة:
    • id
  • لم تعُد واجهة برمجة التطبيقات تُبلغ عن الخطأ playlistAlreadyExists إذا حاولت إنشاء أو تعديل قائمة تشغيل تحمل العنوان نفسه لقائمة تشغيل حالية في القناة نفسها.

  • تتيح عدة طرق في واجهة برمجة التطبيقات أنواعًا جديدة من الأخطاء. يحدّد الجدول أدناه الطريقة والأخطاء الجديدة التي أصبحت متوافقة:

    الطريقة نوع الخطأ تفاصيل الخطأ الوصف
    guideCategories.list notFound notFound يتعذّر العثور على فئة الدليل المحدّدة بواسطة المَعلمة id. استخدِم طريقة guideCategories.list لاسترداد قائمة بالقيم الصالحة.
    playlistItems.delete forbidden playlistItemsNotAccessible لم يتم تفويض الطلب بشكل صحيح لحذف عنصر قائمة التشغيل المحدّد.
    videoCategories.list notFound videoCategoryNotFound تعذّر العثور على فئة الفيديو التي تم تحديدها من خلال المَعلمة id. استخدِم طريقة videoCategories.list لاسترداد قائمة بالقيم الصالحة.