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

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

13 آذار (مارس) 2024

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

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

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

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

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

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

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

7 آذار (مارس) 2024

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

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

31 يناير 2024

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

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

9 تشرين الثاني (نوفمبر) 2023

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

12 أيلول (سبتمبر) 2023

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

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

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

22 آب (أغسطس) 2023

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

18 آب (أغسطس) 2023

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

7 آب (أغسطس) 2023

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

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

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

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

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

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

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

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

22 آب (أغسطس) 2022

نوع التعليقات التوضيحية المصحَّحة لحقول video.statistics إلى سلسلة من طويلة غير موقَّعة.

5 آب (أغسطس) 2022

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

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

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

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

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

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

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

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

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

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 - نموذج التدقيق وإضافة الحصص ويرسلونه.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يدعم مورد playlistItem خاصيتين جديدتين:

28 كانون الثاني (يناير) 2021

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

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

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

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

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

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

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

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

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

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

يشمل هذا التعديل ثلاثة تغييرات صغيرة مرتبطة بمورد channel:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تقدّم هذه الإرشادات إحصاءات حول كيفية تنفيذ 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. تم إيقاف المورد sponsor نهائيًا، وعلى برامج واجهة برمجة التطبيقات تعديل طلبات البيانات إلى الإجراء sponsors.list لاستخدام الإجراء members.list بدلاً من ذلك.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25 تشرين الأول (أكتوبر) 2017

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

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

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

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

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

29 آب (أغسطس) 2017

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

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

24 تموز (يوليو) 2017

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

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

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

1 حزيران (يونيو) 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27 نيسان (أبريل) 2017

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

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

30 آذار (مارس) 2017

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

  • تحتوي السمة topicDetails.topicCategories[] الجديدة في مورد channel على قائمة بعناوين URL من Wikipedia تصف محتوى القناة. تتطابق عناوين URL مع معرّفات المواضيع التي يتم عرضها في السمة topicDetails.topicIds[] للمصدر.
  • تحدد السمة contentDetails.videoPublishedAt الجديدة في المورد playlistItem الوقت الذي تم فيه نشر الفيديو على YouTube. يحتوي المورد على السمة snippet.publishedAt التي تحدد الوقت الذي تمت إضافة العنصر فيه إلى قائمة التشغيل.
  • على غرار المورد channel، يعرض المورد video الآن السمة topicDetails.topicCategories[] التي تحتوي على قائمة بعناوين URL على موسوعة ويكيبيديا التي تصف محتوى الفيديو. بالنسبة إلى موارد 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 Topics من المستندات. قدم هذا الدليل نماذج تعليمات برمجية لتوضيح كيفية عمل أحد التطبيقات مع واجهة برمجة تطبيقات 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 بكسل.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15 أيلول (سبتمبر) 2016

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

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

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

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

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

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

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

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

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

    • لن يتم عرض الكائن 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 مخصّص بالإضافة إلى كيفية إعداد عنوان 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.

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

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

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

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

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

      تقدّم الميزة الجديدة وظائف مشابهة لوظائف علامات المطوّرين التي توفّرها واجهة برمجة التطبيقات v2 API، حتى لو لم تكن مطابقة لها.

    • إنّ السمة 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

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

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

    يوضّح الدليل أيضًا العديد من ميزات التعليق التي لم تتوافق مع v2 API ولكنّها متاحة في v3 API. وتشمل هذه المعلومات ما يلي:

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

  • تم تعديل دليل الاشتراك في الإشعارات الفورية ليظهر أنّه يتم إرسال الإشعارات إلى مركز PubSubHubBub من Google فقط وليس إلى مركز 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 كانت متوافقة مع العديد من الأنواع الأخرى من الإشعارات الفورية غير المتوافقة مع v3 API، لا يزال الإشارة إلى دعم 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.

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

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

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

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

    يكون النطاق الجديد مطلوبًا لعمليات الطلبات الموجّهة إلى جميع طرق مورد caption.

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

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

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

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

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

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

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

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

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

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

    • إتاحة خلاصة RSS

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

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

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

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

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

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

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

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

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

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

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

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 (الإصدار v3) لشرح كيفية استخدام واجهة برمجة التطبيقات v3 API لتحميل الفيديوهات باستخدام JavaScript. (راجِع القسم تحميل فيديو للحصول على التفاصيل.) هذه الوظيفة مشابهة لوظيفة التحميل المستند إلى المتصفّح التي تتيحها واجهة برمجة التطبيقات v2 API. تجدر الإشارة إلى أنّ هذا التغيير في دليل نقل البيانات لا يعكس تغييرًا فعليًا في واجهة برمجة التطبيقات، بل يعكس مدى توفّر رمز نموذجي جديد لتحميل الفيديوهات باستخدام JavaScript من جهة العميل.

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

  • تم تعديل المواد الخاصة بطريقة videos.insert لتتضمن نموذج رمز JavaScript الجديد الموضح أعلاه. تم أيضًا تعديل قائمة عيّنات رموز JavaScript لـ YouTube Data API (الإصدار 3).

11 تشرين الثاني (نوفمبر) 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • توفِّر الطريقة channelBanners.insert الآن الخطأ التالي:

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

12 أيلول (سبتمبر) 2014

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

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

13 أغسطس 2014

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

  • توفِّر الطريقة subscriptions.insert الآن الخطأ التالي:

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

12 آب (أغسطس) 2014

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

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

8 يوليو 2014

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

  • توفِّر الطريقة playlists.insert الآن الخطأ التالي:

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

18 حزيران (يونيو) 2014

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

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

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

  • أصبح مورد "video" متوافقًا الآن مع 43 نظامًا جديدًا للتقييم حسب الفئة العمرية، والتي تحدد التقييمات التي تلقّتها الفيديوهات من مختلف وكالات التقييم الوطنية. <br class="url-false-class-=1-class="1- أحد .<br class="br/مَعلمة على تصنيف

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

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

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

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

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

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

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

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

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

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

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

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

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

5 كانون الأول (ديسمبر) 2013

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

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

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

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

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

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

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

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

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

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

  • تحدّد السمتان contentDetails.contentRating.catvRating وcontentDetails.contentRating.catvfrRating الجديدتان التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف التلفزيون الكندي ونظام التقييم Régie duciné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 الجديدة التقييم الذي حصل عليه الفيديو من وزير إيطاليا ووزيرو.

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

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

27 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

15 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 آب (أغسطس) 2013

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

30 تموز (يوليو) 2013

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

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

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

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

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

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

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

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

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

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

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

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

  • تم تعديل مستندات الطريقة 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.

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

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

  • يحتوي مورد 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 لاسترداد قائمة بالقيم الصالحة.