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

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

30 أكتوبر 2024

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

تشمل أمثلة المحتوى الذي يتضمن إعلانات أثناء التشغيل ما يلي:

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

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

30 أبريل 2024

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

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

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

13 مارس 2024

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

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

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

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

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

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

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

7 مارس 2024

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

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

‫31 يناير 2024

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

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

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

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

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

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

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

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

22 آب (أغسطس) 2023

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

18 آب (أغسطس) 2023

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

7 آب (أغسطس) 2023

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

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

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

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

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

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

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

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

‫22 أغسطس 2022

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

5 آب (أغسطس) 2022

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫28 يناير 2021

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تم تعديل دليل التنفيذ، الذي كان يُعرف سابقًا باسم دليل التنفيذ ونقل البيانات، لإزالة التعليمات الخاصة بنقل البيانات من v2 API إلى 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 التي تم إيقافها نهائيًا الآن.

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

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

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

29 آب (أغسطس) 2017

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

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

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

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

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

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

‫1 يونيو 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫30 مارس 2017

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

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

27 شباط (فبراير) 2017

وفقًا لما أعلنّاه في الأصل في 11 آب (أغسطس) 2016، استبدلت YouTube القائمة المسموح بها من أرقام تعريف المواضيع بقائمة منسّقة. تم تضمين القائمة الكاملة بأرقام تعريف المواضيع المتوافقة في سمات topicDetails لموارد channel وvideo وكذلك في مَعلمة topicId لطريقة search.list.

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

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

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

29 تشرين الثاني (نوفمبر) 2016

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

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

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

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

10 تشرين الثاني (نوفمبر) 2016

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

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

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

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

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

    جارٍ إيقاف السمات التالية:

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

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

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

2 تشرين الثاني (نوفمبر) 2016

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • أخطاء جديدة ومحدّثة

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11 آب (أغسطس) 2016

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

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

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

  • يؤدي إيقاف Freebase وFreebase API إلى حدوث العديد من التغييرات ذات الصلة بمعرّفات المواضيع. يتم استخدام أرقام تعريف المواضيع في موارد واجهة برمجة التطبيقات وطُرقها التالية:

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

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

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

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

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

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

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

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

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

    • بعد 12 أيلول (سبتمبر) 2016، لن يتم عرض عنصر fileDetails.recordingLocation الخاص بمصدر video أو أيّ من مواقعه الفرعية. لا يمكن إلا لمالك الفيديو استرداد هذه البيانات لأنّه لا يمكن إلا لمالك الفيديو استرداد العنصر الرئيسي 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 Developers Console، حيث يمكنك الاطّلاع على الحصة الفعلية واستخدامها.

16 آذار (مارس) 2016

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18 كانون الأول (ديسمبر) 2015

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

19 تشرين الثاني (نوفمبر) 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 تشرين الثاني (نوفمبر) 2015

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

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

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

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

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

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

    • تم تعديل تعريف السمة status.publishAt في المورد video للإشارة إلى ما يلي:

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

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

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

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

  • أخطاء جديدة ومحدّثة

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

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

28 آب (أغسطس) 2015

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

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

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

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

7 آب (أغسطس) 2015

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

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

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

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

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

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

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

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

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

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

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

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

  • أخطاء جديدة ومحدّثة

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16 نيسان (أبريل) 2015

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

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

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

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

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

9 نيسان (أبريل) 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 أبريل 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • تتيح لك طريقة search.list الآن استخدام المَعلمة relevanceLanguage، ما يتيح لك طلب النتائج الأكثر صلة بلغة معيّنة.

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

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

‫14 يناير 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

13 آب (أغسطس) 2014

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

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

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

12 آب (أغسطس) 2014

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

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

8 تموز (يوليو) 2014

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

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

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

18 يونيو 2014

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

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

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

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

28 مايو 2014

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

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

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

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

13 أيار (مايو) 2014

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

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

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

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

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

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

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

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

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

2 مايو 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫4 مارس 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 أكتوبر 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

27 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

15 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10 حزيران (يونيو) 2013

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

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

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

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

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

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

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

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

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

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

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

22 أيار (مايو) 2013

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

14 أيار (مايو) 2013

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

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

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

10 أيار (مايو) 2013

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

8 أيار (مايو) 2013

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

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

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

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

2 أيار (مايو) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19 نيسان (أبريل) 2013

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

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

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

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

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

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

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

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

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

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

  • تم تعديل المستندات الخاصة بطريقة playlistItems.update للإشارة إلى ضرورة تحديد السمة snippet.resourceId في المورد الذي تم إرساله كنص الطلب.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30 كانون الثاني (يناير) 2013

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

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

16 كانون الثاني (يناير) 2013

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

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

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

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

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

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

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

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

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

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

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

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