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

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

‫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 المحتوى الذي تعرضه طريقة video.list في الرسم البياني mostPopular. في السابق، كانت قائمة mostPopular تعرض الفيديوهات المدرَجة في قائمة "الفيديوهات الرائجة حاليًا". ستعرض قائمة mostPopular الآن فيديوهات من قوائم "الموسيقى الرائجة" و"الأفلام الرائجة" و"الألعاب الرائجة". يتزامن هذا التغيير في واجهة برمجة التطبيقات مع الإيقاف النهائي لصفحة "الفيديوهات الرائجة" على YouTube.

‫26 مارس 2025

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

اعتبارًا من 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

تم تعديل تعريف المورد video liveStreamingDetails.concurrentViewers للإشارة إلى أنّ أعداد المشاهدين المتزامنين التي تعرضها واجهة 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، بالتزامن مع التغييرات التي أجريناها لجعل عدد مرات عدم الإعجاب بالفيديوهات خاصًا على منصة YouTube بأكملها، أصبحت السمة statistics.dislikeCount الخاصة بمورد video خاصة.

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

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

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

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

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

‫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

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

  • يقدّم القسم III.E.4.i الجديد معلومات إضافية حول البيانات التي يتم جمعها وإرسالها من خلال مشغّل 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 (بنود خدمة API).

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

‫4 يونيو 2020

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

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

‫17 أبريل 2020

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

سنوقف نهائيًا ميزة "النشرة الإخبارية" في القناة. نتيجةً لذلك، سيتم إيقاف الطريقة 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. توضّح الأدلة المنقّحة كيفية تشغيل نموذج واحد باستخدام مفتاح API ونموذج آخر باستخدام معرّف عميل 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

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

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

‫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 مشغّلاً بحجم 640×360 إذا لم يتم ضبط المَعلمة maxHeight أو maxWidth.

      • إذا تم ضبط المَعلمة maxHeight على 720 ولم يتم ضبط المَعلمة maxWidth، ستعرض واجهة برمجة التطبيقات مشغّلاً بدقة 1280x720.
      • إذا تم ضبط المَعلمة maxWidth على 960 ولم يتم ضبط المَعلمة maxHeight، ستعرض واجهة برمجة التطبيقات مشغّلاً بحجم 960x540.
      • إذا تم ضبط المَعلمة 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" و"مطوّرو البرامج"، مجموعة كبيرة من التعديلات على "بنود الخدمة" الحالية. بالإضافة إلى البنود المعدَّلة التي ستصبح سارية اعتبارًا من 10 فبراير 2017، يتضمّن هذا التعديل عدة مستندات مساعِدة للمساعدة في شرح السياسات التي يجب على المطوّرين اتّباعها.

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

  • سيؤدي إيقاف 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 الخطأ forbidden (403) عندما يحاول طلب غير مصرَّح به بشكل صحيح استرداد الأجزاء fileDetails أو processingDetails أو suggestions من المورد video. تتوفّر هذه الأجزاء فقط لمالك الفيديو.

‫17 مايو 2016

توفّر أداة مقتطفات الرموز البرمجية لواجهة Data API الجديدة مقتطفات قصيرة من الرموز البرمجية لحالات الاستخدام الشائعة لواجهة YouTube Data API. تتوفّر مقتطفات الرموز البرمجية حاليًا لجميع طرق واجهة برمجة التطبيقات للقراءة فقط في Apps Script و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 مخصّص بالإضافة إلى كيفية إعداده.

    • تم إيقاف الكائن 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
    • يحتوي العنصر video على السمة liveStreamingDetails.activeLiveChatId التي تتضمّن معرّف المحادثة المباشرة النشطة المرتبطة بالفيديو. لا تظهر قيمة الموقع إلا إذا كان الفيديو بثًا مباشرًا حاليًا وتم تفعيل المحادثة المباشرة فيه. بعد انتهاء البث والمحادثة المباشرة، لن يتم عرض السمة للفيديو.

    • تتيح السمة 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 التقييم الخاص بالفيديو من "لجنة تصنيف الأفلام" في فرنسا. تحلّ هذه السمة محلّ السمة 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 من واجهة برمجة التطبيقات، ولكنّها متاحة في الإصدار 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

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

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

  • تم تعديل دليل نقل البيانات إلى YouTube Data API (الإصدار 3) للإشارة إلى أنّ الإصدار 3 من واجهة برمجة التطبيقات سيتوافق مع ميزة الإصدار 2 التالية من واجهة برمجة التطبيقات:

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

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

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

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

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

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

    • التوافق مع خلاصة RSS

    • الإشعارات الفورية بشأن تعديلات الخلاصات: كانت واجهة برمجة التطبيقات الإصدار 2 تتيح الإشعارات الفورية باستخدام "بروتوكول التعديل البسيط" (SUP) أو PubSubHubbub لمراقبة خلاصات نشاط المستخدمين على YouTube. تم توفير الإشعارات عند الاشتراك في قنوات جديدة وعند تقييم الفيديوهات أو مشاركتها أو وضع علامة عليها كفيديوهات مفضّلة أو التعليق عليها أو تحميلها.

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

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

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

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

    • إدراج الفيديوهات حسب تاريخ النشر أو عدد المشاهدات أو التقييم: في الإصدار 2 من واجهة برمجة التطبيقات، تتيح لك المَعلمة 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

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

  • تم تعديل دليل نقل البيانات إلى الإصدار 3 من YouTube Data API لتوضيح كيفية استخدام الإصدار 3 من واجهة برمجة التطبيقات لتحميل الفيديوهات باستخدام 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. تم أيضًا تعديل وصف هذا الخطأ.

  • تتيح السمة contentDetails.contentRating.oflcRating الخاصة بالمورد video، والتي تحدّد تقييم الفيديو من مكتب تصنيف الأفلام والأدب في نيوزيلندا، الآن تقييمَين جديدَين هما: 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 للإشارة إلى أنّ واجهة برمجة التطبيقات تعرض رمز الاستجابة HTTP 204 للطلبات الناجحة التي يتم إرسالها إلى هاتين الطريقتَين.

‫2 مايو 2014

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

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

    تتيح واجهة برمجة التطبيقات طريقة لإدراج لغات التطبيقات المتوافقة. يمكن استخدام اللغات المتوافقة كقيمة للمَعلمة hl عند طلب طرق API، مثل 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 التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف البرامج التلفزيونية الكندي ونظام التقييم الفرنسي الذي تستخدمه "هيئة السينما" في كيبيك، على التوالي.

  • تشير السمة 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 لا يرتبط هذا الخطأ بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الرمز إلى أنّ حساب المستخدم الذي تمّت المصادقة عليه معلّق. إذا كان المستخدم يتصرّف نيابةً عن حساب Google آخر، يشير هذا الخطأ إلى أنّ هذا الحساب الآخر معلّق.
    forbidden authenticatedUserNotChannel لا يرتبط هذا الخطأ بطريقة معيّنة في واجهة برمجة التطبيقات. يشير هذا الخطأ إلى أنّه يتعذّر على خادم واجهة برمجة التطبيقات تحديد القناة المرتبطة بطلب بيانات من واجهة برمجة التطبيقات. إذا كان الطلب معتمَدًا ويستخدم المَعلمة onBehalfOfContentOwner، عليك أيضًا ضبط المَعلمة onBehalfOfContentOwnerChannel.
    forbidden cmsUserAccountNotFound لا يرتبط هذا الخطأ بطريقة معيّنة في واجهة برمجة التطبيقات. لا يُسمح لمستخدم نظام إدارة المحتوى باتّخاذ إجراء نيابةً عن مالك المحتوى المحدّد.
    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 يعمل نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. يجب ربط حساب نظام إدارة المحتوى الذي يصادق عليه المستخدم بحساب مالك المحتوى المحدّد على 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 يعمل نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. يجب ربط حساب نظام إدارة المحتوى الذي يصادق عليه المستخدم بحساب مالك المحتوى المحدّد على 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 المواضيع التي تحظى بانتشار كبير على موقع 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 لاسترداد قائمة بالقيم الصالحة.