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

تسرد هذه الصفحة التغييرات التي تم إجراؤها على YouTube Data API (الإصدار 3) وتعديلات المستندات. الاشتراك في سجلّ التغيير هذا اشتراك

‫10 يوليو 2025

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

‫26 مارس 2025

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

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

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

‫30 أكتوبر 2024

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

تشمل أمثلة المحتوى المناسب للبالغين فقط الفيديوهات التي:

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

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

‫30 أبريل 2024

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

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

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

‫13 مارس 2024

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

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

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

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

‫12 مارس 2024

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

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

‫7 مارس 2024

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

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

‫31 يناير 2024

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

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

‫9 نوفمبر 2023

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

‫12 سبتمبر 2023

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

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

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

‫22 أغسطس 2023

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

‫18 أغسطس 2023

تم تعديل تعريف المورد 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

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

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

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

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

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

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

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

12 أيار (مايو) 2021

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

يشمل هذا التحديث التغييرات التالية على واجهة برمجة التطبيقات:

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

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

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

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

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

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

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

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

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

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

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

‫9 فبراير 2021

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

‫28 يناير 2021

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

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

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

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

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

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

  • يقدّم البند الجديد III.E.4.i معلومات إضافية حول البيانات التي يتم جمعها وإرسالها من خلال مشغّل YouTube المضمّن. تتحمّل أنت مسؤولية أي بيانات مستخدمين ترسلها إلينا عبر أي مشغّل مضمّن من YouTube قبل أن يتفاعل المستخدم مع المشغّل للإشارة إلى نيّته تشغيل الفيديو. يمكنك الحدّ من البيانات التي تتم مشاركتها مع YouTube قبل أن يتفاعل المستخدم مع المشغّل من خلال ضبط خيار "التشغيل التلقائي" على "خطأ".
  • يتعلّق البند الجديد III.E.4.j بالتحقّق من حالة المحتوى على أنّه "مخصّص للأطفال" (MFK) قبل تضمينه في مواقعك الإلكترونية وتطبيقاتك. أنت المسؤول عن معرفة ما إذا كانت الفيديوهات التي تضمّنها في "برنامج واجهة برمجة التطبيقات" مخصّصة للأطفال، وعليك التعامل مع البيانات التي يتم جمعها من المشغّل المضمّن وفقًا لذلك. وبالتالي، عليك التحقّق من حالة المحتوى باستخدام خدمة 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".

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

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

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

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

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

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

‫15 يونيو 2020

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

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

‫4 يونيو 2020

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

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

17 نيسان (أبريل) 2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫22 يونيو 2018

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

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

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

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

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

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

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

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

‫16 نوفمبر 2017

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

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

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

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

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

‫25 أكتوبر 2017

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

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

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

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

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

‫29 أغسطس 2017

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

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

‫24 يوليو 2017

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

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

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

‫1 يونيو 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫27 أبريل 2017

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

  • توضّح أدلة البدء السريع الجديدة كيفية إعداد تطبيق بسيط يرسل طلبات إلى YouTube Data API. تتوفّر الأدلة حاليًا للغات Android وApps Script وGo وJava وJavaScript وNode.js وPHP وPython وRuby.

‫30 مارس 2017

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

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

‫27 فبراير 2017

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

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

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

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

‫29 نوفمبر 2016

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

  • سنُجري ثلاثة تغييرات بسيطة على قائمة أرقام تعريف المواضيع التي ستكون متاحة اعتبارًا من 10 شباط (فبراير) 2017:

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

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

‫10 نوفمبر 2016

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

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

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

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

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

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

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

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

‫2 نوفمبر 2016

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫18 ديسمبر 2015

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

‫19 نوفمبر 2015

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

  • ضبط العناوين والأوصاف المتوافقة مع السوق المحلية

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫4 نوفمبر 2015

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

  • تعديلات على المراجع والأساليب الحالية

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

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

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

      لا يشير هذا التغيير إلى تغيير في سلوك واجهة برمجة التطبيقات.

    • تم تعديل تعريف السمة status.publishAt الخاصة بالمرجع video لإضافة ما يلي:

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

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

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

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

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

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

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

‫28 أغسطس 2015

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

  • تعديلات على المراجع والأساليب الحالية

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

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

‫7 أغسطس 2015

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

  • تعديلات على المراجع والأساليب الحالية

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

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

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

‫18 يونيو 2015

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

  • تعديلات على المراجع والأساليب الحالية

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

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

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

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

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

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

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

‫27 أبريل 2015

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

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

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

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

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

  • تعديلات على المراجع والأساليب الحالية

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

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

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

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

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

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

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

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

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

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

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

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

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

‫16 أبريل 2015

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

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

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

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

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

‫9 أبريل 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫2 أبريل 2015

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

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

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

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

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

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

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

‫11 مارس 2015

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

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

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

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

    • استرداد اقتراحات الفيديوهات: لا تستردّ واجهة برمجة التطبيقات v3 قائمة تتضمّن الفيديوهات المقترَحة لمستخدم واجهة برمجة التطبيقات الحالي فقط. ومع ذلك، يمكنك استخدام الإصدار 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 (الإصدار 3).

‫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 الذي يتضمّن رمز الحالة 400 لبروتوكول HTTP.

  • يمكن أن يتضمّن المورد 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 عند طلب طرق واجهة برمجة التطبيقات، مثل videoCategories.list وguideCategories.list.

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

    تتيح واجهة برمجة التطبيقات طريقة لإدراج مناطق المحتوى المتوافقة. يمكن استخدام رموز المناطق المتاحة كقيمة للمَعلمة regionCode عند استدعاء طرق API مثل 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 ‫5000 بايت
    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 (محتوى مناسب للأطفال الذين يبلغون 12 عامًا أو أكبر) – يجب أن يكون الأطفال برفقة شخص بالغ.
    • 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 التقييم الذي حصل عليه الفيديو من "وزارة التراث الثقافي والسياحة" في إيطاليا.

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

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

‫27 أغسطس 2013

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

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

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

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

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

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

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

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

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

‫15 أغسطس 2013

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

  • يتضمّن عنصر invideoPromotion الخاص بمورد channel الخصائص الجديدة والمعدَّلة التالية:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫8 أغسطس 2013

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

‫30 يوليو 2013

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

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

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

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

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

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

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

  • تمت إعادة تسمية السمة recordingDetails.location.elevation الخاصة بالمرجع video إلى recordingDetails.location.altitude، كما تمت إعادة تسمية السمة fileDetails.recordingLocation.location.elevation الخاصة به إلى fileDetails.recordingLocation.location.altitude.

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

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

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

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

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

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

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

    تشير المَعلمة إلى أنّ بيانات اعتماد التفويض الخاصة بالطلب تحدّد مستخدمًا في نظام إدارة المحتوى (CMS) على 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 إلى أنّ بيانات اعتماد التفويض الخاصة بالطلب تحدّد مستخدمًا في نظام إدارة المحتوى (CMS) على 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 لاسترداد قائمة بالقيم الصالحة.