سِجل النُسخ السابقة

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

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" تشير رسالة الأشكال البيانية مركز مساعدة YouTube توفِّر معلومات إضافية حول مقاييس البث المباشر.

7 آب (أغسطس) 2023

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

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

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

12 حزيران (يونيو) 2023

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

تتيح لك طريقة search.list تم إيقاف المعلمة relatedToVideoId نهائيًا. سيتوقف 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 أو بعد هذا التاريخ، سيتوقف التوافق مع معرّفات مسارات الترجمة والشرح القديمة. في ذلك الوقت، كان استدعاء أي من طرق واجهة برمجة التطبيقات هذه الذي يتضمن معرّف مسار ترجمة وشرح قديم إلى خطأ واحد (captionNotFound).

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

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

تمّ تعديل بنود خدمات YouTube API. من فضلك راجع بنود الخدمة الخاصة بخدمات YouTube API - المراجعة السجلّ لمزيد من المعلومات.

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

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

8 نيسان (أبريل) 2022

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

15 كانون الأول (ديسمبر) 2021

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

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

18 تشرين الثاني (نوفمبر) 2021

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • لمورد channel contentDetails.relatedPlaylists.favorites تم إيقاف العمل بها نهائيًا. لقد سبق أن تم إيقاف وظيفة الفيديوهات المفضّلة. عدة سنوات كما هو مذكور في 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[]

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

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

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

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

9 شباط (فبراير) 2021

يوفّر مورد playlistItem موقعَين جديدَين:

‫28 يناير 2021

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

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

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

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

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

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

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

النسخة الجديدة من العثور على حالة MadeForKids لفيديو كيفية البحث عن حالة "محتوى مخصّص للأطفال" في فيديو باستخدام خدمة 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وجميع مواقعها الفرعية
    • تعتمد الطريقة channels.list مَعلمة الفلتر categoryId
    • مورد "guideCategories" وguideCategories.list طريقة واحدة
  • الردود من واجهة برمجة التطبيقات رقم طريقة الدفع "channels.list" تحتوي على prevPageToken إذا كان طلب واجهة برمجة التطبيقات يحدد مَعلمة managedByMe إلى true. لا يؤثّر هذا التغيير في السمة prevPageToken. لطلبات "channels.list" الأخرى، ولا يؤثّر ذلك في nextPageToken الخاصة بأي طلبات.
  • contentDetails.relatedPlaylists.watchLater للمورد في channel وcontentDetails.relatedPlaylists.watchHistory موقعَين تم الإعلان عنهما نهائيًا في 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.

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

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

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

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

في ما يلي مشاريع واجهة برمجة التطبيقات التي تم إنشاؤها قبل 28 تموز (يوليو) 2020: لا تتأثر حاليًا بهذا التغيير. ولكننا ننصح بشدة جميع المطوِّرين إكمال تدقيق الامتثال على مشاريعهم لضمان مواصلة الوصول إلى خدمات واجهة برمجة تطبيقات YouTube.

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

[تاريخ التعديل: 28 تموز (يوليو) 2020] تحديث الوثائق المشار إليه في هذه المراجعة في 28 يوليو 2020.

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

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

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

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

15 حزيران (يونيو) 2020

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

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

4 حزيران (يونيو) 2020

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

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

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

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

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

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

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

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

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

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

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

10 كانون الثاني (يناير) 2020

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

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

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

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

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

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

10 أيلول (سبتمبر) 2019

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

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

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

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

4 نيسان (أبريل) 2019

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

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

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

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

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

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

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

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

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

تجدر الإشارة إلى أن التغييرات الموضحة أعلاه تحل محل أداة تفاعلية تمت إضافتها إلى وثائق واجهة برمجة التطبيقات في عام 2017.

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

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

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

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

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

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

22 حزيران (يونيو) 2018

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

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

    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 لنظام التشغيل 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

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

‫30 مارس 2017

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

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

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.

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

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

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

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

      تحدّد السمتان 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" المنشورة حديثًا (المُشار إليها بالتفصيل في مدوّنة مطوّري البرامج والهندسة في 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) ليتضمّن موارد النشاط وplaylistItem وقائمة التشغيل ونتائج البحث والصورة المصغّرة والفيديو للإشارة إلى توفّر أحجام إضافية للصور المصغّرة لبعض الفيديوهات.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • تم تصحيح المستندات الخاصة بالطرق channelSections.delete وplaylistItems.delete وplaylists.delete وsubscriptions.delete وvideos.delete للإشارة إلى أنّه عند نجاحها، تعرض جميعها رمز استجابة HTTP 204 (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 عندما تنفّذ القناة أيًّا من الأنشطة التالية:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 آذار (مارس) 2015

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

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

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

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

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

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

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

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

2 آذار (مارس) 2015

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

‫14 يناير 2015

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

  • لقد عدّلنا دليل نقل البيانات من YouTube Data API (الإصدار 3) لشرح كيفية استخدام الإصدار 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

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

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

8 يوليو 2014

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

  • تظهر طريقة playlists.insert الآن مع الخطأ التالي:

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

18 يونيو 2014

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

  • تم تعديل وصف كل طريقة من طرق واجهة برمجة التطبيقات لتضمين تكلفة الحصة الناتجة عن استدعاء تلك الطريقة. وبالمثل، تم تعديل تعريفات معلَمات part لتحديد تكلفة الحصة لكل جزء الذي يمكن استرداده في طلب بيانات من واجهة برمجة التطبيقات. على سبيل المثال، تكلفة حصة استدعاء طريقة subscriptions.insert هي 50 وحدة تقريبًا. يحتوي مورد subscription أيضًا على ثلاثة أجزاء (snippet وcontentDetails وsubscriberSnippet)، وتبلغ تكلفة كل جزء من هذه الأجزاء وحدتين.

    يُرجى تذكُّر أنّ تكاليف الحصة يمكن أن تتغيّر بدون تحذير.

  • أصبح المرجع video يتيح استخدام 43 نظامًا جديدًا للتقييم حسب الفئة العمرية، وهي تحدّد التقييمات التي حصلت عليها الفيديوهات من وكالات تقييم وطنية مختلفة.

28 مايو 2014

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

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

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

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

13 مايو 2014

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

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

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

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

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

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

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

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

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

2 مايو 2014

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

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

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

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

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

7 نيسان (أبريل) 2014

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

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

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

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

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

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

  • تم تعديل المستندات الخاصة بالطريقتَين videos.insert وvideos.update للإشارة إلى أنّه يمكن ضبط السمة status.publishAt عند استدعاء هاتين الطريقتين.

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

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

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

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

  • تتيح لك السمة status.publishAt الجديدة الخاصة بمورد video تحديد التاريخ والوقت اللذين ستتم جدولة نشر فيديو خاص فيهما. لا يمكن ضبط هذه السمة إلّا إذا كانت حالة خصوصية الفيديو هي private ولم يسبق نشره. لا يخضع هذا الموقع الجديد لسياسة الإيقاف.

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 الآن تقييمًا من المجلس الأسترالي لتصنيف الأفلام أو "هيئة الاتصالات والإعلام الأسترالية" (ACMA) للبرامج التلفزيونية للأطفال.

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

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

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

24 تشرين الأول (أكتوبر) 2013

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

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

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

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

      • upcoming – الفيديو هو بث مباشر لم يبدأ بعد.
      • active – الفيديو عبارة عن بث مباشر جارٍ.
      • none – الفيديو ليس بثًا مباشرًا قادمًا أو نشطًا. ستكون هذه قيمة خاصية لعمليات البث المكتملة التي لا تزال قابلة للعرض على YouTube.

    • السمة liveStreamingDetails الجديدة لمورد video هي كائن يحتوي على بيانات وصفية حول بث فيديو مباشر. لاسترداد هذه البيانات الوصفية، أدرِج liveStreamingDetails في قائمة أجزاء الموارد الخاصة بقيمة مَعلمة part. تشمل البيانات الوصفية السمات الجديدة التالية:

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

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

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

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

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

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

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

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

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

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

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

1 أكتوبر 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

27 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

15 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

    لاحظ أن مثال بايثون لطريقة 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.

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

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

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

  • يوضِّح error documentation الأخطاء الجديدة التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    forbidden insufficientCapabilities لا يقتصر هذا الخطأ على طريقة معيّنة لواجهة برمجة التطبيقات. يشير هذا الرمز إلى أنّ مستخدم نظام إدارة المحتوى (CMS) الذي يطلب واجهة برمجة التطبيقات لا يملك الأذونات الكافية لتنفيذ العملية المطلوبة. ويرتبط هذا الخطأ باستخدام مَعلمة 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 specifies invalid recording details.
    badRequest invalidVideoGameRating تحدّد البيانات الوصفية للطلب تقييمًا غير صالح للعبة فيديو.
    badRequest invalidVideoMetadata البيانات الوصفية للطلب غير صالحة.
  • تمت إزالة المَعلمة onBehalfOfContentOwner من قائمة المَعلمات المتوافقة للطريقتَين videos.update وvideos.delete.

12 آذار (مارس) 2013

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

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

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

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

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

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

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

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

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

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

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

      تتوافق جميع طرق channels.list وsearch.list وvideos.delete وvideos.list وvideos.update مع هذه المَعلمة.

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

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

25 شباط (فبراير) 2013

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

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

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

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

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

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

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

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

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

    • يتضمّن الجزء contentDetails أربع سمات جديدة. يمكن استرداد هذه السمات باستخدام الطلبات التي لم تتم مصادقتها.

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

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

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

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

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

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

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

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

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

  • تمت إزالة السمة snippet.channelId الخاصة بمورد "channel". تقدّم السمة id للمورد القيمة نفسها.

30 يناير 2013

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

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

16 يناير 2013

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

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

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

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

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

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

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

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

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

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

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

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