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

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

30 تشرين الأول (أكتوبر) 2024

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

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

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

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

30 نيسان (أبريل) 2024

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

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

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

13 مارس 2024

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

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

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

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

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

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

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

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

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

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

‫31 يناير 2024

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

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

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

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

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

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

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

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

22 آب (أغسطس) 2023

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

18 آب (أغسطس) 2023

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

7 آب (أغسطس) 2023

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

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

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

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

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

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

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

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

‫22 أغسطس 2022

تم تصحيح التعليقات التوضيحية للأنواع لحقول video.statistics لتصبح سلسلة من unsigned long.

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 Services للحصول على مزيد من المعلومات.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • تم إيقاف موارد واجهة برمجة التطبيقات والأساليب والمَعلمات وخصائص الموارد التالية نهائيًا على الفور، وستتوقّف عن العمل في تاريخ هذا الإشعار أو بعده:
    • سمات موارد channel التالية :
      • سمة statistics.commentCount
      • عنصر brandingSettings.image وجميع السمات الفرعية له
      • قائمة brandingSettings.hints وكل المواقع الإلكترونية الفرعية لها
    • مَعلمة الفلتر categoryId channels.list في الطريقة 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 تموز (يوليو) 2 عام 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 Services (بنود خدمة واجهة برمجة التطبيقات).

تقدّم هذه الإرشادات إحصاءات عن كيفية فرض 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 Services للحصول على مزيد من المعلومات. ستسري التغييرات على بنود خدمة YouTube API Services وسياسات المطوّرين في 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29 آب (أغسطس) 2017

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

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

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

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

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

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

‫1 يونيو 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫30 مارس 2017

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

  • يحتوي الموقع الإلكتروني topicDetails.topicCategories[] الجديد لمورد channel على قائمة بعناوين URL الخاصة بموقع 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 على مشغّل بدقة 640x360 إذا لم يتم ضبط المَعلمة maxHeight أو maxWidth.

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

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

  • سيؤدي إيقاف Freebase وFreebase API نهائيًا إلى إجراء عدة تغييرات على أرقام تعريف المواضيع. يتم استخدام أرقام تعريف المواضيع في موارد واجهة برمجة التطبيقات وطُرقها التالية:

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

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

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

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

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

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

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

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

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

    • بعد 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) لموارد activity وplaylistItem وplaylist وsearch result وthumbnail وvideo للإشارة إلى أنّه تتوفّر أحجام إضافية للصور المصغّرة لبعض الفيديوهات.

    • تبلغ مساحة الصورة 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. تتوفّر مقتطفات الرموز البرمجية حاليًا لجميع طُرق واجهة برمجة التطبيقات للقراءة فقط في Apps Script وGo وJavaScript وPHP وPython وRuby.

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

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

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

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

28 نيسان (أبريل) 2016

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

  • تحدّد السمة contentDetails.projection الجديدة لمورد video تنسيق عرض الفيديو. القيم الصالحة للخاصية هي 360 وrectangular.

  • تم تعديل السمتَين recordingDetails.location وfileDetails.recordingLocation لمصدر video لتوضيح الفرق بينهما:

    • تحدّد السمة recordingDetails.location الموقع الجغرافي الذي يريد مالك الفيديو ربطه بالفيديو. هذا الموقع الجغرافي قابل للتعديل والبحث عنه في الفيديوهات العلنية، وقد يظهر للمستخدمين في الفيديوهات العلنية.
    • لا يمكن تغيير قيمة السمة fileDetails.recordingLocation، وهي تمثّل الموقع الجغرافي المرتبط بملف الفيديو الأصلي الذي تم تحميله. ولا تظهر هذه القيمة إلا لمالك الفيديو.

  • تم تعديل تعريف السمة contentDetails.relatedPlaylists.favorites لمورد channel للإشارة إلى أنّ قيمة السمة قد تحتوي على معرّف قائمة تشغيل يشير إلى قائمة تشغيل فارغة ولا يمكن استرجاعها. ويعود السبب في ذلك إلى أنّنا أوقفنا ميزة الفيديوهات المفضّلة نهائيًا. يُرجى العِلم أنّ هذا المَعلمة لا تخضع لسياسة إيقاف واجهة برمجة التطبيقات نهائيًا.

  • تم تعديل تعريف الخطأ ineligibleAccount الذي يمكن أن تُعرِضه الطريقة comments.insert أو comments.update أو commentThreads.insert أو commentThreads.update ليوضّح أنّ الخطأ يحدث عندما لا يتم دمج حساب YouTube المستخدَم لمنح الإذن بطلب البيانات من واجهة برمجة التطبيقات مع حساب المستخدم على Google.

20 نيسان (أبريل) 2016

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

  • تم تعديل تعريف المَعلمة part في الطريقة channels.update للإشارة إلى أنّ localizations هي أيضًا قيمة صالحة لهذه المَعلمة.

  • تم تعديل قسم استخدام الحصة في دليل "البدء" لتوفير رابط يؤدي إلى Google 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 resources لمدة عام واحد على الأقل بعد هذا الإشعار. ومع ذلك، يتم الآن ضبط قيمة السمة دائمًا على 0.

7 آب (أغسطس) 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫14 يناير 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • تتيح الآن سمة contentDetails.contentRating.oflcRating الخاصة بمصدر video تحديد تقييم الفيديو من مكتب تصنيف الأفلام والأدب في نيوزيلندا (New Zealand Office of Film and Literature Classification)، وذلك من خلال تقييمَين جديدَين: oflcRp13 وoflcRp16. تتوافق هذه التقييمات مع RP13 وRP16، على التوالي.

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

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

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

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

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

13 آب (أغسطس) 2014

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

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

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

12 آب (أغسطس) 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫4 مارس 2014

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

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

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

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

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

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

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

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

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

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

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

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

  • تحدِّد السمتان الجديدتان contentDetails.contentRating.catvRating وcontentDetails.contentRating.catvfrRating التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف البرامج التلفزيونية الكندي ونظام التقييم باللغة الفرنسية 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 التقييم الذي حصل عليه الفيديو من وزارة Beni e delle Attivita Culturali e del Turismo في إيطاليا.

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

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

27 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

15 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 آب (أغسطس) 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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