تعرض هذه الصفحة التغييرات والتعديلات التي أُجريت على المستندات في YouTube Data API (الإصدار 3). اشترِك في سجلّ التغييرات هذا.
30 نيسان (أبريل) 2024
ملاحظة: هذا إشعار بالإيقاف النهائي.
يتضمّن هذا التعديل التغييرات التالية:
لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج مناقشات عن القناة أو استردادها. ويتسق هذا التغيير مع الوظيفة المتوفرة على موقع YouTube الإلكتروني الذي لا يتيح نشر التعليقات على القنوات.
13 آذار (مارس) 2024
ملاحظة: هذا إشعار بالإيقاف النهائي.
يتضمّن هذا التعديل التغييرات التالية:
تم إيقاف المَعلمة sync
للطريقتَين captions.insert
وcaptions.update
نهائيًا. ستتوقّف منصة YouTube عن إتاحة المَعلمة اعتبارًا من 12 نيسان (أبريل) 2024.
نتيجةً لهذا التغيير، على المطوّرين تضمين معلومات التوقيت عند إدراج أو تعديل مسارات الترجمة وإلا ستتعذّر عملية التحميل.
12 آذار (مارس) 2024
يتضمّن هذا التعديل التغييرات التالية:
تم تعديل مستندات المورد captions
لملاحظة أنّ الحدّ الأقصى المسموح به لطول الحقل snippet.name
هو 150 حرفًا. وتعرض واجهة برمجة التطبيقات الخطأ nameTooLong
إذا كان اسم المسار أطول من ذلك.
7 آذار (مارس) 2024
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم إيقاف خاصية المورد channel
brandingSettings.channel.moderateComments
نهائيًا. ستتوقّف منصة YouTube عن إتاحة المَعلمة اعتبارًا من 7 آذار (مارس) 2024.
31 يناير 2024
يتضمّن هذا التعديل التغييرات التالية:
تتيح لك مَعلمة forHandle
الجديدة الخاصة بالطريقة channels.list
استرداد معلومات حول قناة معيّنة من خلال تحديد اسمها المعرِّف على YouTube.
9 تشرين الثاني (نوفمبر) 2023
تمت إزالة جميع المراجع التي تشير إلى مورد videoId
ضمن Comments
لأنّه لا يتم عرض مورد videoId
باستخدام طلب بيانات من واجهة برمجة التطبيقات.
12 أيلول (سبتمبر) 2023
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم إيقاف الإجراء comments.markAsSpam
نهائيًا لعدة سنوات. سبق أن تمّت إتاحة هذه الطريقة على YouTube ولم تعُد متاحة من خلال واجهة برمجة التطبيقات.
تمت إضافة إشعار إيقاف نهائي إلى جميع المستندات التي تشير إلى طريقة
comments.markAsSpam
.
22 آب (أغسطس) 2023
أصبحت الطريقة search.list
الآن متوافقة مع
المعلَمة videoPaidProductPlacement
. وتتيح لك هذه المَعلمة فلترة نتائج البحث لتشمل فقط الفيديوهات التي أشار
صانع المحتوى إلى أنّها تتضمّن إعلانًا ترويجيًا مدفوعًا.
18 آب (أغسطس) 2023
تم تعديل تعريف
liveStreamingDetails.concurrentViewers
لمورد video
لملاحظة أنّ عدد المشاهدين المتزامنين قد يختلف عن عدد المشاهدين المتزامنين الذين تمت معالجتهم وإزالة المحتوى غير المرغوب فيه من عدد المشاهدين المتزامنين في "إحصاءات YouTube". يقدّم مركز مساعدة YouTube مزيدًا من المعلومات حول مقاييس البث المباشر.
7 آب (أغسطس) 2023
كما أعلنّا في 12 حزيران (يونيو) 2023، تم إيقاف
معلَمة relatedToVideoId
لطريقة search.list
نهائيًا. لم تعُد تلك المَعلمة
متوافقة وتمّت إزالة المراجع التي تشير إلى المَعلمة من مستندات واجهة برمجة التطبيقات.
28 حزيران (يونيو) 2023
أصبحت الطريقة thumbnails.set تتيحان الآن استخدام الخطأ uploadRateLimitExceeded
، ما يشير إلى أنّ القناة قد حمّلت عددًا كبيرًا جدًا من الصور المصغّرة خلال آخر 24 ساعة، ويجب إعادة المحاولة لاحقًا.
12 حزيران (يونيو) 2023
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم إيقاف المعلمة relatedToVideoId
لطريقة search.list نهائيًا. ستتوقّف منصة YouTube عن إتاحة المعلَمة اعتبارًا من 7 آب (أغسطس) 2023.
في الوقت الحالي، تمت إضافة إشعار بالإيقاف النهائي إلى المستندات الخاصة بطريقة search.list
. ستتم إزالة هذه المَعلمة بالكامل من مستندات search.list
في 7 آب (أغسطس) 2023 أو بعد هذا التاريخ.
بالإضافة إلى ذلك، تمت إزالة مثال يوضّح كيفية استرداد الفيديوهات ذات الصلة من دليل تنفيذ واجهة برمجة التطبيقات.
22 آب (أغسطس) 2022
نوع التعليقات التوضيحية المصحَّحة لحقول video.statistics إلى سلسلة من طويلة غير موقَّعة.
5 آب (أغسطس) 2022
غيّرت منصة YouTube طريقة إنشاء معرّفات مقاطع الترجمة والشرح، وكجزء من هذا التغيير، أضافت
معرّفات جديدة إلى جميع مسارات الترجمة والشرح. قد يكون هذا التغيير تغييرًا غير متوافق مع الأنظمة القديمة في التطبيقات التي تخزّن قيم caption_id
، ولكنّه لن يؤثر في التطبيقات التي لا تخزِّن قيم caption_id
.
من الآن وحتى 1 كانون الأول (ديسمبر) 2022، ستتيح الطرق captions.list
وcaptions.update
وcaptions.download
و
captions.delete
استخدام معرّفات مسارات الترجمة القديمة والجديدة معًا. يُرجى العلم بأنّ منصة YouTube ستتوقف عن إتاحة معرّفات مقاطع الترجمة والشرح القديمة في 1 كانون الأول (ديسمبر) 2022 أو بعد هذا التاريخ. وفي الوقت الحالي، سيؤدي استدعاء أي من طرق واجهة برمجة التطبيقات هذه باستخدام رقم تعريف مسار الترجمة والشرح القديم إلى ظهور خطأ captionNotFound
.
في إطار الاستعداد لهذا التغيير، ننصحك باستبدال جميع بيانات مسارات الترجمة المخزّنة بالكامل من الآن حتى 1 كانون الأول (ديسمبر) 2022. هذا يعني أنّه عليك حذف البيانات المخزَّنة حاليًا، ثم طلب طريقة captions.list
لاسترداد المجموعة الحالية من مسارات الترجمة الخاصة بالفيديو وتخزين البيانات في استجابة واجهة برمجة التطبيقات بالطريقة المعتادة.
12 تموز (يوليو) 2022
تم تعديل بنود الخدمة الخاصة بخدمات YouTube API. يُرجى مراجعة بنود الخدمة في خدمات واجهة برمجة تطبيقات YouTube - سجلّ النُسخ السابقة للحصول على مزيد من المعلومات.
27 نيسان (أبريل) 2022
تم تعديل وصف طريقة videos.insert
لملاحظة أنّ الحد الأقصى لحجم ملفات الفيديوهات المحمَّلة قد زاد من 128 غيغابايت إلى 256 غيغابايت.
8 نيسان (أبريل) 2022
تم تعديل تعريفات المَعلمتَين myRecentSubscribers
وmySubscribers
لطريقة subscriptions.list
لملاحظة أنّ الحد الأقصى لعدد المشتركين قد يكون محدودًا.
يمثّل هذا التغيير تصحيحًا للمستندات وليس تغييرًا في سلوك واجهة برمجة التطبيقات.
15 كانون الأول (ديسمبر) 2021
كما أعلنّا في 18 تشرين الثاني (نوفمبر) 2021، تم أيضًا تغيير إعدادات
جعل عدد غير المعجبين بالفيديوهات
خاصة على منصة YouTube بالكامل، وتم الآن تغيير خصوصية
مورد video
statistics.dislikeCount
إلى خاصة.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير على مدونة YouTube الرسمية.
18 تشرين الثاني (نوفمبر) 2021
بالإضافة إلى التغييرات الرامية إلى
تغيير مستوى عرض عدد غير المعجبين بالفيديوهات على منصة YouTube بالكامل، سيتم تغيير خصوصية
سمة video
المورد statistics.dislikeCount
الخاصة بها اعتبارًا من 13 كانون الأول (ديسمبر) 2021. وهذا يعني أنّه لن يتم تضمين السمة
في استجابة واجهة برمجة التطبيقات من نقطة النهاية videos.list
إلا إذا صادق مالك الفيديو على طلب البيانات من واجهة برمجة التطبيقات.
لا تتأثر نقطة النهاية videos.rate
بهذا التغيير.
إنّ المطوّرين الذين لا يعرضون عدد غير المعجبين علنًا وما زالوا بحاجة إلى عدد غير المعجبين لبرنامج واجهة برمجة التطبيقات يمكنهم تقديم طلب لاستثناء عدد غير المعجبين من القائمة. لتقديم طلب إعفاء، يجب إكمال نموذج الطلب هذا.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير على مدونة YouTube الرسمية.
2 تموز (يوليو) 2021
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم إيقاف نقطة النهاية commentThreads.update
نهائيًا ولم تعُد متاحة.
تتوفر هذه الوظيفة المكرّرة لنقطة النهاية من خلال نقاط نهاية واجهة برمجة التطبيقات الأخرى. بدلاً من ذلك، يمكنك
طلب الرقم comments.update
commentThreads
، عليك إجراء اتصال ثانوي لطريقة commentThreads.list
.
1 تموز (يوليو) 2021
على جميع المطوّرين الذين يستخدمون خدمات واجهة برمجة التطبيقات في YouTube إكمال عملية تدقيق في مدى امتثال واجهة برمجة التطبيقات للحصول على أكثر من الحصة التلقائية التي تبلغ 10,000 وحدة. حتى الآن، نفّذ المطوّرون عملية التدقيق في الامتثال وطلبات توزيع وحدات الحصص الإضافية وكانوا يملؤون نموذج خدمات YouTube API - نموذج التدقيق وإضافة الحصص ويرسلونه.
لتوضيح هذه العمليات وتلبية احتياجات المطوّرين الذين يستخدمون خدمات واجهة برمجة التطبيقات بشكل أفضل، نحن بصدد إضافة ثلاثة نماذج جديدة ودليل لإكمال هذه النماذج:
- نموذج طلبات المطوّرين المدقق: يمكن للمطوّرين الذين سبق لهم اجتياز عملية تدقيق في مدى امتثال واجهة برمجة التطبيقات ملء هذا النموذج الأقصر وإرساله لطلب زيادة الحصة المخصّصة.
- نموذج طلب إعادة النظر: يمكن للمطوّرين الذين لم تجرِ عملية تدقيق مدى الامتثال في مشاريعهم API (أو تم رفض زيادة وحدة الحصة) ملء هذا النموذج وإرساله.
- نموذج تغيير الجهة المتحكّمة: على المطوِّرين أو أي جهة تدير عميل واجهة برمجة تطبيقات نيابةً عن المطوّر، إذا حدث تغيير في الإدارة (على سبيل المثال، من خلال شراء أسهم أو بيعها، أو دمج، أو أيّ شكل آخر من أشكال المعاملات المؤسسية) مرتبط بمشروع واجهة برمجة تطبيقات، ملء هذا النموذج وإرساله. بهذه الطريقة، يمكن لفريق واجهة برمجة التطبيقات في YouTube تعديل سجلّاتنا والتدقيق في الامتثال لحالات الاستخدام في المشروع الجديد والتحقّق من توزيع الحصة الحالية للمطوّر.
سيطلعنا كل نموذج جديد على استخدامك المقصود لواجهة برمجة التطبيقات في YouTube وسيمكّننا من مساعدتك بشكل أفضل.
يتوفّر مزيد من التفاصيل في دليل عمليات التدقيق في امتثال واجهة برمجة التطبيقات الجديد.
12 أيار (مايو) 2021
ملاحظة: هذا إشعار بالإيقاف النهائي.
يشمل هذا التعديل التغييرات التالية في واجهة برمجة التطبيقات:
-
تم إيقاف الخاصية
contentDetails.relatedPlaylists.favorites
للموردchannel
نهائيًا. لقد سبق أن تم إيقاف وظيفة الفيديوهات المفضّلة لعدّة سنوات، كما أشرنا في الإدخال الخاص بسجلّ المراجعات بتاريخ 28 نيسان (أبريل) 2016.قبل طرح هذا التعديل، كانت واجهة برمجة التطبيقات لا تزال تنشئ قائمة تشغيل جديدة إذا حاول عميل واجهة برمجة التطبيقات إضافة فيديو إلى قائمة تشغيل مفضّلة غير متاحة. ومن الآن فصاعدًا، لن يتم إنشاء قائمة التشغيل في هذه الحالة وستظهر واجهة برمجة التطبيقات رسالة خطأ. وفقًا لإشعارات سابقة، تم إيقاف كل محاولات تعديل قوائم التشغيل المفضّلة من خلال إضافة عناصر أو تعديلها أو حذفها، وقد تبدأ في عرض أخطاء في أي وقت.
-
تم إيقاف سمات موارد
channel
التالية نهائيًا. وهذه السمات غير متاحة حاليًا في واجهة مستخدم "استوديو YouTube" وعلى YouTube. ونتيجةً لذلك، لم تعُد متوافقة مع واجهة برمجة التطبيقات.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
تمت إزالة جميع السمات من تمثيل موارد
channel
، كما تمت إزالة تعريفاتها من قائمة سمات الموارد. بالإضافة إلى ذلك، تمت إزالة الأخطاء المرتبطة بهذه السمات من المستندات الخاصة بالطريقة. -
تم إيقاف سمات موارد
channelSection
التالية نهائيًا. وهذه السمات غير متاحة حاليًا في واجهة مستخدم "استوديو YouTube" وعلى YouTube. ونتيجةً لذلك، لم تعُد متوافقة مع واجهة برمجة التطبيقات.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
وبالتزامن مع هذا التغيير، تم أيضًا إيقاف المعلَمة
hl
في الطريقةchannelSection.list
نهائيًا لأنّ الميزات المتوافقة معها غير متوافقة.تمت إزالة جميع السمات من تمثيل موارد
channelSection
، كما تمت إزالة تعريفاتها من قائمة سمات الموارد. بالإضافة إلى ذلك، تمت إزالة الأخطاء المرتبطة بهذه السمات من المستندات الخاصة بالطريقة. -
تم إيقاف القيم التالية نهائيًا في السمة
snippet.type
للموردchannelSection
. وبما أنّ هذه القيم غير متوافقة حاليًا مع صفحات القنوات على YouTube، لم تعُد متوافقة مع واجهة برمجة التطبيقات.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
تم إيقاف الخاصية
snippet.tags[]
للموردplaylist
نهائيًا. سبق أن تمّ توفير هذه السمة على YouTube، وبالتالي لم تعُد متاحة عبر واجهة برمجة التطبيقات.
9 شباط (فبراير) 2021
يدعم مورد playlistItem
خاصيتين جديدتين:
- تحدد السمة
snippet.videoOwnerChannelId
معرّف القناة التي حمّلت فيديو قائمة التشغيل. - تحدد السمة
snippet.videoOwnerChannelTitle
اسم القناة التي حمّلت فيديو قائمة التشغيل.
28 كانون الثاني (يناير) 2021
يتضمّن هذا التعديل التغييرات التالية:
-
تتوافق الطرق
playlistItems.delete
وplaylistItems.insert
وplaylistItems.list
وplaylistItems.update
وplaylists.delete
وplaylists.list
وplaylists.update
مع خطأplaylistOperationUnsupported
جديد. يحدث الخطأ عندما يحاول أحد الطلبات تنفيذ عملية غير مسموح بها لقائمة تشغيل معيّنة. على سبيل المثال، لا يمكن للمستخدم حذف فيديو من قائمة التشغيل التي حمّلها أو حذف قائمة التشغيل نفسها.في جميع الحالات، يعرض هذا الخطأ رمز استجابة HTTP
400
(طلب غير صحيح). -
تمت إزالة الخطأين
watchHistoryNotAccessible
وwatchLaterNotAccessible
الخاصَّين بالطريقةplaylistItems.list
من المستندات. لا يمكن الوصول إلى سجلّ المشاهدة وقوائم المشاهدة لاحقًا للمستخدمين عبر واجهة برمجة التطبيقات، إلا أنّ واجهة برمجة التطبيقات لا تعرض هذه الأخطاء تحديدًا.
15 تشرين الأول (أكتوبر) 2020
تمت إضافة قسمَين جديدَين إلى سياسات المطوّرين:
- توفِّر الفقرة III.E.4.i الجديدة معلومات إضافية حول البيانات التي يتم جمعها وإرسالها من خلال مشغّل YouTube المضمَّن. وتتحمّل أنت مسؤولية إرسال بيانات المستخدمين التي ترسلها إلينا عبر أي مشغّل YouTube مضمّن قبل تفاعل المستخدم مع المشغّل للإشارة إلى رغبته في التشغيل. ويمكنك فرض قيود على البيانات التي تتم مشاركتها مع YouTube قبل أن يتفاعل المستخدم مع المشغّل من خلال ضبط ميزة "التشغيل التلقائي" على "خطأ".
- يتعلق الفقرة III.E.4.j الجديدة بالتحقّق من حالة المحتوى المخصّص للأطفال قبل تضمينه على مواقعك الإلكترونية وتطبيقاتك. تقع على عاتقك مسؤولية معرفة الحالات التي تكون فيها الفيديوهات التي تضمّنها في برنامج عميل واجهة برمجة التطبيقات مخصّصة للأطفال، كما تتحمّل مسؤولية معالجة البيانات التي يتم جمعها من المشغّل المضمّن وفقًا لذلك. وبناءً على ذلك، يجب التحقق من حالة المحتوى باستخدام خدمة YouTube Data API قبل تضمينه في برنامج واجهة برمجة التطبيقات عبر أي مشغّلات مضمّنة في YouTube.
يوضّح الدليل الجديد بعنوان العثور على حالة فيديو MadeForKids كيفية البحث عن حالة فيديو مخصّص للأطفال باستخدام خدمة Data API في YouTube.
بالإضافة إلى هذه التغييرات، تمت إضافة تذكير إلى مستندات "معلَمات المشغّل المضمّن" لتوضيح أنّه في حال تفعيل ميزة التشغيل التلقائي، سيتم تشغيل المحتوى بدون أي تفاعل من جانب المستخدم مع المشغّل، وبالتالي سيتم جمع بيانات التشغيل ومشاركتها عند تحميل الصفحة.
8 تشرين الأول (أكتوبر) 2020
يشمل هذا التعديل ثلاثة تغييرات صغيرة مرتبطة
بمورد channel
:
- إنّ الكائن
snippet.thumbnails
، الذي يحدد الصور المصغّرة للقناة، قد يكون فارغًا للقنوات التي تم إنشاؤها حديثًا، وقد يستغرق تعبئته مدة تصل إلى يوم واحد. - تعرض السمة
statistics.videoCount
عدد الفيديوهات العلنية للقناة فقط، حتى للمالكين. وهذا السلوك متوافق مع الأعداد المعروضة على موقع YouTube الإلكتروني. - قد يتم اقتطاع الكلمات الرئيسية للقناة التي يتم تحديدها في السمة
brandingSettings.channel.keywords
إذا تجاوزت الحد الأقصى المسموح به الذي يبلغ 500 حرف أو إذا كانت تحتوي على علامات اقتباس لا يمكن تجاوزها ("
). تجدر الإشارة إلى أنّ عدد الأحرف المسموح به هو 500 ليس حدًا لكل كلمة رئيسية، بل حدًا أقصى لإجمالي طول جميع الكلمات الرئيسية. وهذا السلوك متوافق مع الأساليب المتّبعة على موقع YouTube الإلكتروني.
9 أيلول (سبتمبر) 2020
ملاحظة: هذا إشعار بالإيقاف النهائي.
يشمل هذا التعديل التغييرات التالية في واجهة برمجة التطبيقات. ستسري جميع التغييرات في 9 أيلول (سبتمبر) 2020، وهو تاريخ هذا الإشعار أو بعد هذا التاريخ. من هذا المنطلق، يجب ألّا يعتمد المطوّرون بعد الآن على أي من ميزات واجهة برمجة التطبيقات المدرَجة أدناه.
-
ويتم على الفور إيقاف موارد واجهة برمجة التطبيقات والطرق والمعلَمات وخصائص الموارد التالية،
وسيتم إيقاف العمل بها في تاريخ هذا الإشعار أو بعده:
- في ما يلي سمات موارد
channel
:- السمة
statistics.commentCount
- الكائن
brandingSettings.image
وجميع خصائصه الفرعية - قائمة
brandingSettings.hints
وجميع سماتها الفرعية
- السمة
- معلَمة الفلتر
categoryId
لطريقةchannels.list
- المورد
guideCategories
والطريقةguideCategories.list
- في ما يلي سمات موارد
-
لم تعُد استجابات واجهة برمجة التطبيقات لطريقة
channels.list
تتضمن السمةprevPageToken
إذا كان طلب البيانات من واجهة برمجة التطبيقات يضبط المعلَمةmanagedByMe
علىtrue
. لا يؤثّر هذا التغيير في السمةprevPageToken
في طلباتchannels.list
الأخرى، ولا يؤثر في السمةnextPageToken
لأي طلبات. -
تم الإعلان عن إيقاف
السمتَين
contentDetails.relatedPlaylists.watchLater
وcontentDetails.relatedPlaylists.watchHistory
للموردَينchannel
في 11 آب (أغسطس) 2016. بالإضافة إلى ذلك، تم إيقاف استخدام كلّ من طريقةplaylistItems.insert
وطريقةplaylistItems.delete
لقوائم التشغيل هذه بشكل كامل، كما تمت إزالة السمتَين من المستندات. -
وقد تمت إزالة معلَمة
mySubscribers
الخاصة بطريقةchannels.list
من المستندات، والتي تم الإعلان عن إيقافها نهائيًا في 30 تموز (يوليو) 2013. استخدِم الإجراءsubscriptions.list
والمَعلمةmySubscribers
الخاصة بها لاسترداد قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه. -
تمت إزالة عنصر
invideoPromotion
لموردchannel
وجميع سماته الفرعية التي تم الإعلان عنها على أنّها متوقفة في 27 تشرين الثاني (نوفمبر) 2017 من المستندات.
29 تموز (يوليو) 2020
لقد بسّطنا عملية تحصيل الرسوم مقابل طلبات البيانات من واجهة برمجة التطبيقات من خلال إزالة التكلفة الإضافية المرتبطة بالمَعلمة part
. ولن يتم تحصيل الرسوم على الفور إلا من خلال التكلفة الأساسية للطريقة التي يتم طلبها. يمكنك الاطّلاع هنا على مزيد من المعلومات حول الحصة المبسّطة.
يتمثّل تأثير هذا التغيير في أنّ معظم طلبات البيانات من واجهة برمجة التطبيقات سيتم تحصيل رسومها بشكل بسيط، بينما ستكون التكلفة نفسها مع بعض طلبات البيانات من واجهة برمجة التطبيقات. ولا يؤدي هذا التغيير إلى زيادة تكلفة أي طلبات بيانات من واجهة برمجة التطبيقات. بشكل عام، يتمثّل التأثير المحتمَل في أنّ حصتك المخصّصة والتي يمكن رؤيتها في Google Cloud Console ستحقق نتائج أبعد من ذلك.
ننصح بشدة جميع المطوّرين بإكمال التدقيق في الامتثال لمشاريعهم لضمان استمرارية الوصول إلى خدمات واجهة برمجة تطبيقات YouTube.
تم نشر هذا الإدخال لسجلّ النُسخ السابقة في الأصل في 20 تموز (يوليو) 2020.
28 تموز (يوليو) 2020
إنّ كل الفيديوهات التي تم تحميلها باستخدام نقطة النهاية videos.insert
من مشاريع واجهة برمجة تطبيقات لم يتم التحقق منها والتي تم إنشاؤها بعد 28 تموز (يوليو) 2020 ستقتصر على
وضع المشاهدة الخاص. لرفع هذه القيود، يجب أن يخضع كل مشروع لعملية تدقيق للتحقق من توافقه مع بنود الخدمة.
سيتلقّى صنّاع المحتوى الذين يستخدمون برنامج واجهة برمجة تطبيقات لم يتم التحقّق منه لتحميل الفيديوهات رسالة إلكترونية توضح لهم أنّه تم ضبط مستوى عرض الفيديو الخاص بهم على "خاص" وأنّه يمكنهم تجنُّب فرض هذه القيود باستخدام برنامج رسمي أو خاضع للتدقيق.
في الوقت الحالي، لا تتأثّر مشاريع واجهة برمجة التطبيقات التي تم إنشاؤها قبل 28 تموز (يوليو) 2020 بهذا التغيير. ومع ذلك، ننصح بشدة جميع المطوّرين بإكمال عملية تدقيق في مدى الامتثال في مشاريعهم لضمان استمرار الوصول إلى خدمات واجهة برمجة تطبيقات YouTube.
21 تموز (يوليو) 2020
[تاريخ التعديل: 28 تموز (يوليو) 2020.] تمت إعادة نشر التعديل الذي تمت الإشارة إليه في سجلّ النُسخ السابقة هذا في 28 تموز (يوليو) 2020.
نشرنا أمس تعديلاً على المستندات يتعلق بعملية تحصيل الرسوم مقابل حصة الطلبات. وبسبب ظروف غير متوقَّعة، لم يعُد هذا التغيير ساري المفعول بعد. نتيجةً لذلك، تم التراجع عن المستندات حفاظًا على الدقة. ولتجنُّب حدوث أي التباس، تمت إزالة الإدخال الخاص بسجلّ النُسخ السابقة الذي يوضّح التغيير وستتم إعادة نشره في المستقبل القريب.
7 تموز (يوليو) 2020
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم الآن إيقاف المعلّمتَين autoLevels
وstabilize
لطريقة videos.insert
نهائيًا، وتمت إزالة كلتا المعلمتَين من المستندات. ويتم تجاهل هذه القيم ولا تؤثر في طريقة معالجة الفيديوهات المحمّلة حديثًا.
15 حزيران (يونيو) 2020
يقدّم دليل الامتثال لسياسات المطوّرين في YouTube الجديد إرشادات وأمثلة لمساعدتك في ضمان امتثال عملاء واجهة برمجة التطبيقات لأجزاء محدّدة من البنود والسياسات (بنود خدمة واجهة برمجة التطبيقات) الخاصة بخدمات واجهة برمجة تطبيقات YouTube.
تقدّم هذه الإرشادات إحصاءات حول كيفية تنفيذ YouTube لجوانب معيّنة من بنود خدمة واجهة برمجة التطبيقات بدون استبدال أي مستندات حالية. يتناول الدليل بعض الأسئلة الأكثر شيوعًا التي يطرحها المطوّرون أثناء عمليات التدقيق في مدى امتثال واجهة برمجة التطبيقات. نأمل أن يساهم ذلك في تبسيط عملية تطوير الميزات من خلال مساعدتك على فهم كيفية تفسير سياساتنا وتنفيذها.
4 حزيران (يونيو) 2020
ملاحظة: هذا تحديث لإشعار سابق بشأن الإيقاف النهائي.
وقد تم إيقاف ميزة نشرة القناة بشكل كامل الآن. تم الإعلان عن هذا التغيير بشكل مبدئي
في 17 نيسان (أبريل) 2020، وقد دخل حيّز التنفيذ الآن. ونتيجةً لذلك، لم تعُد الطريقة activities.insert
متاحة
ولم تعُد الطريقة
activities.list
تعرض نشرات القنوات. لمزيد من التفاصيل، يُرجى مراجعة
مركز مساعدة YouTube.
17 نيسان (أبريل) 2020
ملاحظة: هذا إشعار بالإيقاف النهائي.
ستوقف منصة YouTube ميزة نشرة القناة. ونتيجةً لذلك، سيتم
إيقاف طريقة
activities.insert
نهائيًا
والطريقة activities.list
إلى إيقاف عرض نشرات القنوات. ستصبح هذه التغييرات سارية في واجهة برمجة التطبيقات في 18 أيار (مايو) 2020 أو بعد هذا التاريخ. لمزيد من التفاصيل، يُرجى مراجعة
مركز مساعدة YouTube.
31 آذار (مارس) 2020
يتضمّن هذا التعديل التغييرات التالية:
-
مَراجع وطرق جديدة
-
يمثّل المرجع
member
الجديد أحد الأعضاء في قناة على YouTube. يقدّم المشترك الداعم دعمًا ماليًا متكرّرًا لصانع المحتوى، كما يحصل على مزايا خاصة. على سبيل المثال، يمكن للأعضاء الدردشة عندما يفعّل صانع المحتوى وضع "الأعضاء فقط" في محادثة.ويحلّ هذا المرجع محلّ المورد
sponsor
الذي تم توثيقه كجزء من واجهة برمجة التطبيقات للبث المباشر على YouTube. تم إيقاف الموردsponsor
نهائيًا، وعلى برامج واجهة برمجة التطبيقات تعديل طلبات البيانات إلى الإجراءsponsors.list
لاستخدام الإجراءmembers.list
بدلاً من ذلك. -
يحدّد المورد الجديد
membershipsLevel
مستوى السعر الذي يديره صانع المحتوى الذي فوّض طلب البيانات من واجهة برمجة التطبيقات. تسترجع الطريقةmembershipsLevels.list
قائمة بجميع مستويات عضوية صانع المحتوى.
-
10 كانون الثاني (يناير) 2020
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد المحتوى الموجّه إلى الأطفال والذي تسمّيه YouTube "محتوى مخصّص للأطفال". يمكنك الاطّلاع على مزيد من المعلومات حول المحتوى "المخصّص للأطفال" في "مركز مساعدة YouTube".
يتيح المرجعان channel
وvideo
استخدام سمتَين جديدتَين
لتمكين صنّاع المحتوى والمشاهدين من تحديد المحتوى المخصّص للأطفال:
-
تتيح السمة
selfDeclaredMadeForKids
لصنّاع المحتوى تحديد ما إذا كانت القناة أو الفيديو مخصّصة للأطفال.
بالنسبة إلى القنوات، يمكن ضبط هذه السمة عند طلب طريقةchannels.update
. بالنسبة إلى الفيديوهات، يمكن ضبط هذه السمة عند طلب إحدى الطريقتَينvideos.insert
أوvideos.update
.
يُرجى العِلم أنّه لا يتم تضمين هذه السمة إلا في ردود واجهة برمجة التطبيقات التي تتضمّن مواردchannel
أوvideo
في حال وافق مالك القناة على إرسال طلب البيانات من واجهة برمجة التطبيقات. -
تتيح السمة
madeForKids
لأي مستخدم عرض الحالة "محتوى مخصّص للأطفال" على قناة أو فيديو. على سبيل المثال، قد يتم تحديد الحالة استنادًا إلى قيمة السمةselfDeclaredMadeForKids
. يمكنك زيارة مركز مساعدة YouTube للحصول على مزيد من المعلومات حول ضبط الجمهور المستهدف في قناتك أو فيديوهاتك أو أحداث البث.
وعدّلنا أيضًا بنود الخدمة وسياسات المطوّرين في YouTube API. يُرجى مراجعة بنود الخدمة في خدمات واجهة برمجة تطبيقات YouTube - سجلّ النُسخ السابقة للحصول على مزيد من المعلومات. ستصبح التغييرات التي نُجريها على بنود الخدمة وسياسات المطوّرين في خدمات واجهة برمجة تطبيقات YouTube سارية المفعول في 10 كانون الثاني (يناير) 2020 بتوقيت المحيط الهادئ.
10 أيلول (سبتمبر) 2019
تم تعديل المستندات المرجعية الخاصة بواجهة برمجة التطبيقات لتعكس تغييرًا في طريقة تسجيل عدد المشتركين في التقارير على YouTube، وبالتالي في ردود واجهة برمجة التطبيقات. نتيجةً لهذا التغيير،
ستنخفض أعداد المشتركين الناتجة عن خدمة Data API في YouTube إلى ثلاثة أرقام مهمة بالنسبة إلى عدد المشتركين الذي يتجاوز 1,000 مشترك. يؤثّر هذا التغيير في السمة
statistics.subscriberCount
الخاصة بمورد channel
.
ملاحظة: يؤثّر هذا التغيير في قيمة الموقع الإلكتروني هذه حتى في الحالات التي يُرسل فيها المستخدم طلبًا للحصول على بيانات حول قناته. وسيبقى بإمكان مالكي القنوات الاطّلاع على العدد الدقيق للمشتركين في "استوديو YouTube".
على سبيل المثال، إذا كانت القناة تضمّ 123,456 مشتركًا، ستحتوي السمة statistics.subscriberCount
على القيمة 123000
.
يعرض الجدول أدناه أمثلة على كيفية تقريب أعداد المشتركين في ردود واجهة برمجة التطبيقات،
كما يتم اختصارها في واجهات مستخدم YouTube الأخرى الظاهرة للجميع:
مثال على عدد المشتركين | YouTube Data API | واجهات مستخدم YouTube الظاهرة بشكل علني |
---|---|---|
1234 | 1230 | 1.23 ألف |
12,345 | 12300 | 12.3 ألف |
123,456 | 123000 | 123 ألف |
1,234,567 | 1230000 | 1.23 مليون |
12,345,678 | 12300000 | 12.3 مليون |
123,456,789 | 123000000 | 123 مليون |
4 نيسان (أبريل) 2019
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل المستندات المرجعية لواجهة برمجة التطبيقات لتوضيح حالات الاستخدام الشائعة لكل طريقة بشكل أفضل وتوفير عيّنات تعليمات برمجية ديناميكية وعالية الجودة من خلال التطبيق المصغَّر "مستكشف واجهات برمجة التطبيقات". يمكنك الاطّلاع على مثال عن المستندات الخاصة بطريقة
channels.list
. يتوفّر الآن عنصران جديدان في الصفحات يصفان طرق واجهة برمجة التطبيقات:-
يتيح لك التطبيق المصغَّر "مستكشف واجهات برمجة التطبيقات" تحديد نطاقات التفويض وإدخال قيم نماذج المَعلمات وقيم الخصائص، ثم إرسال طلبات البيانات من واجهة برمجة التطبيقات والاطّلاع على الردود الفعلية على واجهة برمجة التطبيقات. ويوفّر التطبيق المصغّر أيضًا طريقة عرض بملء الشاشة تُظهر عيّنات الرموز الكاملة، والتي يتم تعديلها ديناميكيًا لاستخدام النطاقات والقيم التي أدخلتها.
-
يصف قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الطريقة
channels.list
لاسترداد بيانات عن قناة معيّنة أو لاسترداد بيانات عن قناة المستخدِم الحالي.يمكنك استخدام الروابط الموجودة في هذا القسم لتعبئة مستكشف واجهات برمجة التطبيقات بنماذج قيم لحالة الاستخدام أو لفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة بالقيم التي تمت تعبئتها مسبقًا. تهدف هذه التغييرات إلى تسهيل الاطّلاع على عيّنات التعليمات البرمجية التي تنطبق مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك.
يُسمح حاليًا بعيّنات التعليمات البرمجية للغة Java وJavaScript وPHP وPython وcurl.
-
-
تم أيضًا تعديل أداة عيّنات الرموز من خلال واجهة مستخدم جديدة توفّر كل الميزات نفسها الموضّحة أعلاه. باستخدام هذه الأداة، يمكنك استكشاف حالات استخدام لطرق مختلفة، وتحميل القيم في مستكشف واجهات برمجة التطبيقات، وفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة للحصول على عيّنات التعليمات البرمجية في Java وJavaScript وPHP وPython.
بالإضافة إلى هذا التغيير، تمت إزالة الصفحات التي كانت تُدرج في السابق عيّنات التعليمات البرمجية المتاحة لبرامج Java وJavaScript وPHP وPython.
-
تم تحديث أدلة البدء السريع لـ Java وJavaScript وPHP وPython. تشرح الأدلة المنقّحة كيفية تشغيل نموذج واحد باستخدام مفتاح واجهة برمجة التطبيقات ونموذج آخر باستخدام معرِّف عميل OAuth 2.0 باستخدام عيّنات التعليمات البرمجية من "مستكشف واجهات برمجة التطبيقات".
تجدر الإشارة إلى أن التغييرات الموضحة أعلاه تحل محل أداة تفاعلية تمت إضافتها إلى وثائق واجهة برمجة التطبيقات في عام 2017.
9 تموز (يوليو) 2018
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل تعريف السمة
snippet.thumbnails
لموردchannel
لملاحظة أنه عند عرض صور مصغّرة في تطبيقك، يجب أن يستخدم الرمز عناوين URL للصور تمامًا كما تظهر في ردود واجهة برمجة التطبيقات. على سبيل المثال، يجب ألا يستخدم تطبيقك النطاقhttp
بدلاً من النطاقhttps
في عنوان URL يتم عرضه في استجابة واجهة برمجة التطبيقات.وابتداءً من تموز (يوليو) 2018، ستكون عناوين URL للصور المصغّرة للقناة متوفّرة فقط في نطاق
https
، وهو الطريقة التي تظهر بها عناوين URL في ردود واجهة برمجة التطبيقات. بعد هذه الفترة، قد تظهر صور معطّلة في التطبيق إذا حاول تحميل صور YouTube من نطاقhttp
. -
ملاحظة: هذا إشعار بالإيقاف النهائي.
تم إيقاف الخاصية
recordingDetails.location.altitude
للموردvideo
نهائيًا. وما مِن ضمان بأنّ الفيديوهات ستعرض قيمًا لهذه السمة. وبالمثل، حتى إذا حاولت طلبات واجهة برمجة التطبيقات تحديد قيمة لهذه السمة، من الممكن ألا يتم تخزين البيانات الواردة.
22 حزيران (يونيو) 2018
تم تعديل دليل التنفيذ، الذي كان يُعرف سابقًا باسم دليل التنفيذ والنقل، لإزالة التعليمات المتعلّقة بنقل البيانات من واجهة برمجة التطبيقات v2 إلى واجهة برمجة التطبيقات v3 API. بالإضافة إلى ذلك، تمت أيضًا إزالة التعليمات الخاصة بالميزات التي تم إيقافها نهائيًا في v3 API، مثل الفيديوهات المفضّلة.
27 تشرين الثاني (نوفمبر) 2017
يتضمّن هذا التعديل التغييرات التالية:
-
ملاحظة: هذا إشعار بالإيقاف النهائي.
إن YouTube بصدد إزالة الدعم لميزات الفيديو المميز والمواقع الإلكترونية المميزة المعتمدة في واجهة برمجة التطبيقات من خلال عنصر
invideoPromotion
للموردchannel
. ونتيجةً لذلك، سيتم إيقاف هذا العنصر نهائيًا، بما في ذلك كل خصائصه الفرعية.سيظلّ بإمكانك استرداد بيانات
invideoPromotion
وضبطها حتى 14 كانون الأول (ديسمبر) 2017. بعد ذلك التاريخ:- وستؤدي محاولات استرداد الجزء
invideoPromotion
عند استدعاءchannels.list
إلى عرضinvideoPromotion
فارغًا أو عدم عرض أي بياناتinvideoPromotion
على الإطلاق. - إنّ محاولات تعديل بيانات
invideoPromotion
عند استدعاءchannels.update
تؤدي إلى عرض استجابة ناجحة حتى 27 أيار (مايو) 2018 على الأقل، ولكن سيتم التعامل معها على أنّها لا تُجري عمليات التحديث، ما يعني أنّها لن تُجري أي تحديث.
وبعد 27 أيار (مايو) 2018، من الممكن أن تعرض هذه الطلبات رسائل خطأ تشير مثلاً إلى أنّ السمة
invalidPromotion
هي جزء غير صالح. - وستؤدي محاولات استرداد الجزء
16 تشرين الثاني (نوفمبر) 2017
يتضمّن هذا التعديل التغييرات التالية:
-
تتوافق أداة مقتطف الرمز التفاعلي الآن مع عيّنات رموز Node.js. تظهر النماذج أيضًا في المستندات الخاصة بجميع طرق واجهة برمجة التطبيقات تقريبًا، مثل طريقة
channels.list
.تم تصميم النماذج القابلة للتخصيص لمنحك نقطة انطلاق خاصة بحالة الاستخدام لتطبيق Node.js. تشبه هذه الوظيفة الرمز الوارد في دليل البدء السريع في Node.js. ومع ذلك، تحتوي النماذج على بعض دوال الأداة التي لا تظهر في التشغيل السريع:
- تأخذ الدالة
removeEmptyParameters
قائمة بأزواج المفتاح/القيمة المقابلة لمَعلمات طلب واجهة برمجة التطبيقات وتزيل المَعلمات التي لا تحتوي على قيم. - تستخدم الدالة
createResource
قائمة بأزواج المفتاح/القيمة المقابلة للخصائص في مورد واجهة برمجة التطبيقات. وتحوِّل بعد ذلك السمات إلى كائن JSON يمكن استخدامه في عمليتَيinsert
وupdate
. يوضّح المثال أدناه مجموعة من أسماء السمات وقيمها وكائن JSON الذي سيُنشئه الرمز لها:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
وجميع هذه النماذج مصمّمة لتنزيلها وتشغيلها على الجهاز. لمزيد من المعلومات، يمكنك الاطّلاع على المتطلبات الأساسية لتشغيل عيّنات الرموز الكاملة محليًا في تعليمات أداة مقتطف الرمز.
- تأخذ الدالة
25 تشرين الأول (أكتوبر) 2017
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل نماذج الرموز البرمجية Python في أداة مقتطف الرمز التفاعلي لاستخدام مكتبتَي
google-auth
وgoogle-auth-oauthlib
بدلاً من مكتبةoauth2client
التي تم إيقافها نهائيًا.وبالإضافة إلى هذا التغيير، توفر الأداة الآن نماذج رموز كاملة لتطبيقات Python المثبتة وتطبيقات خادم الويب Python، والتي تستخدم تدفقات تفويض مختلفة قليلاً. للاطّلاع على النماذج الكاملة (وهذا التغيير):
- انتقِل إلى أداة مقتطف الرمز التفاعلي أو إلى المستندات الخاصة بأي طريقة من طُرق واجهة برمجة التطبيقات، مثل طريقة
channels.list
. - انقر على علامة التبويب
Python
فوق نماذج الرموز البرمجية. - انقر على زرّ الإيقاف/التفعيل فوق علامات التبويب للانتقال من عرض مقتطف إلى عيّنة كاملة.
- من المفترض أن تعرض علامة التبويب الآن عيّنة كاملة من الرمز تستخدِم مسار تفويض
InstalledAppFlow
. يوضح الوصف الوارد أعلاه النموذج هذا ويضع رابطًا إلى عينة لتطبيق خادم ويب. - انقر على الرابط للتبديل إلى مثال خادم الويب. يستخدم هذا النموذج إطار عمل تطبيق الويب Flask وتدفق تفويض مختلفًا.
وجميع هذه النماذج مصمّمة لتنزيلها وتشغيلها على الجهاز. إذا كنت تريد تشغيل النماذج، يُرجى الاطّلاع على تعليمات تشغيل عيّنات الرموز الكاملة محليًا في تعليمات أداة مقتطف الرمز.
- انتقِل إلى أداة مقتطف الرمز التفاعلي أو إلى المستندات الخاصة بأي طريقة من طُرق واجهة برمجة التطبيقات، مثل طريقة
29 آب (أغسطس) 2017
يتضمّن هذا التعديل التغييرات التالية:
- تم تعديل تعريف معلَمة
forContentOwner
لطريقةsearch.list
لملاحظة أنّه في حال ضبط هذه المعلَمة علىtrue
، يجب ضبط المعلَمةtype
علىvideo
. - تم تعديل تعريف معلَمة
regionCode
في طريقةsearch.list
لتوضيح أنّ المَعلمة تحصر نتائج البحث بالفيديوهات التي يمكن مشاهدتها في المنطقة المحددة. - عدّلت منصة YouTube شعارات علامتها التجارية ورموزها. يمكن تنزيل شعارات جديدة "تم تطويرها باستخدام YouTube" من صفحة إرشادات وضع العلامة التجارية. وتظهر أيضًا شعارات ورموز YouTube الجديدة الأخرى على تلك الصفحة ويمكن تنزيلها من موقع علامة YouTube التجارية.
24 تموز (يوليو) 2017
يتضمّن هذا التعديل التغييرات التالية:
- يتوفّر دليل البدء السريع الجديد لـ YouTube Data API على أجهزة iOS. يشرح هذا الدليل كيفية استخدام YouTube Data API في تطبيق iOS بسيط مكتوب إما بلغة Objective-C أو Swift.
- تتضمّن الآن أداة مقتطف الرمز التفاعلي في YouTube Data API مستندات تشرح بعض ميزات الأداة:
- تنفيذ طلبات البيانات من واجهة برمجة التطبيقات
- التبديل بين مقتطفات الرمز وعيّنات التعليمات البرمجية الكاملة
- استخدام الدوال النموذجية
- تحميل الموارد الحالية (لطرق التحديث)
ملاحظة: يتم تضمين الأداة أيضًا في المستندات المرجعية الخاصة بواجهة برمجة التطبيقات لطرق واجهة برمجة التطبيقات (مثال).
1 حزيران (يونيو) 2017
يتضمّن هذا التعديل التغييرات التالية:
-
ملاحظة: هذا إشعار بالإيقاف النهائي.
يتم إيقاف سمات موارد
video
التالية نهائيًا. وعلى الرغم من أنّ السمات ستظل متوفّرة حتى 1 كانون الأول (ديسمبر) 2017، ما مِن ضمانات بأن تستمر الفيديوهات في عرض قيم لهذه السمات حتى ذلك الوقت. وبالمثل، لن تؤدي طلباتvideos.insert
وvideos.update
التي تحدّد قيم السمات هذه إلى حدوث أخطاء قبل ذلك التاريخ، ولكن من المحتمل ألا يتم تخزين البيانات الواردة.
17 أيار (مايو) 2017
يتضمّن هذا التعديل التغييرات التالية:
-
تم تحديث الوثائق المرجعية لواجهة برمجة التطبيقات لجعل مقتطفات التعليمات البرمجية أكثر انتشارًا وتفاعلاً. تشتمل الصفحات التي تشرح طرق واجهات برمجة التطبيقات، مثل
channels.list
أوvideos.rate
، الآن على أداة تفاعلية تتيح لك عرض مقتطفات الرموز وتخصيصها في Java وJavaScript وPHP وPython وRuby وApps Script وGo.بالنسبة إلى أي طريقة محدّدة، تعرض الأداة مقتطفات رمز لحالة استخدام واحدة أو أكثر، وتصف كل حالة استخدام طريقة شائعة لاستدعاء هذه الطريقة. على سبيل المثال، يمكنك استدعاء الإجراء
channels.list
لاسترداد بيانات عن قناة معيّنة أو قناة المستخدِم الحالي.يمكنك أيضًا التفاعل مع عيّنات التعليمات البرمجية:
-
عدِّل قيم المعلّمات والخصائص، ويتم تعديل مقتطفات الرمز ديناميكيًا لتعكس القيم التي تقدِّمها.
-
يمكنك التبديل بين مقتطفات الرمز والنماذج الكاملة. يعرض مقتطف الرمز جزءًا من الرمز يستدعي طريقة واجهة برمجة التطبيقات. وتحتوي العيّنة الكاملة على هذا المقتطف بالإضافة إلى رمز نموذجي لتفويض الطلبات وإرسالها. ويمكن نسخ النماذج الكاملة وتشغيلها من سطر الأوامر أو من خادم ويب محلي.
-
يمكنك تنفيذ الطلبات بالنقر على زر. (لتنفيذ الطلبات، يجب منح الأداة الإذن بطلب البيانات من واجهة برمجة التطبيقات بالنيابة عنك).
تجدر الإشارة إلى أنّ هذه الأداة قد حلّت محل "مستكشف واجهات برمجة التطبيقات" (APIs) في الصفحات التي يكون متاحًا فيها. (تعرض كل صفحة رابطًا بحيث يكون لديك أيضًا خيار تحميل الطلب الذي تعمل عليه في مستكشف واجهات برمجة التطبيقات).
-
-
تم أيضًا تحديث أداة مقتطفات الرمز في واجهة برمجة تطبيقات البيانات من خلال واجهة مستخدم جديدة توفّر كل الميزات نفسها الموضّحة أعلاه. في ما يلي الميزات الرئيسية الجديدة المتوفرة في هذه الصفحة:
- إتاحة طلبات واجهة برمجة التطبيقات التي تكتب البيانات
- إتاحة نماذج Java.
- رمز نموذجي أكثر مرونة وشمولية لتفويض المستخدمين وإنشاء طلبات من واجهة برمجة التطبيقات
27 نيسان (أبريل) 2017
يتضمّن هذا التعديل التغييرات التالية:
- تشرح أدلة البدء السريع الجديدة كيفية إعداد تطبيق بسيط يقدّم طلبات من YouTube Data API. تتوفّر الأدلة حاليًا لأنظمة التشغيل Android وApps Script وGo وJava وJavaScript وNode.js وPHP وPython وRuby.
30 آذار (مارس) 2017
يتضمّن هذا التعديل التغييرات التالية:
- تحتوي السمة
topicDetails.topicCategories[]
الجديدة في موردchannel
على قائمة بعناوين URL من Wikipedia تصف محتوى القناة. تتطابق عناوين URL مع معرّفات المواضيع التي يتم عرضها في السمةtopicDetails.topicIds[]
للمصدر. - تحدد السمة
contentDetails.videoPublishedAt
الجديدة في الموردplaylistItem
الوقت الذي تم فيه نشر الفيديو على YouTube. يحتوي المورد على السمةsnippet.publishedAt
التي تحدد الوقت الذي تمت إضافة العنصر فيه إلى قائمة التشغيل. - على غرار المورد
channel
، يعرض الموردvideo
الآن السمةtopicDetails.topicCategories[]
التي تحتوي على قائمة بعناوين URL على موسوعة ويكيبيديا التي تصف محتوى الفيديو. بالنسبة إلى مواردvideo
، تتوافق عناوين URL مع أرقام تعريف المواضيع التي يتم عرضها في السمةtopicDetails.relevantTopicIds[]
للمورد. - تحدد الخاصية
contentDetails.contentRating.mpaatRating
الجديدة في الموردvideo
التقييم الذي منحته جمعية Motion Picture Association of America لمقطع دعائي أو لمعاينة فيلم.
27 شباط (فبراير) 2017
كما أعلنّا في 11 آب (أغسطس) 2016، حوّلت منصة YouTube قائمة معرّفات المواضيع المتاحة إلى قائمة منظَّمة. يتم إدراج قائمة كاملة بأرقام تعريف المواضيع المتوافقة في السمات topicDetails
لموردَي channel
وvideo
، وكذلك في مَعلمة topicId
لطريقة search.list
.
تجدر الإشارة إلى أنّ هناك العديد من التغييرات في القائمة المنظّمة:
- تمت إضافة المواضيع التالية كمواضيع فرعية للموقع الإلكتروني
Society
:الاسم معرّف الموضوع النشاط التجاري /m/09s1f
صحة /m/0kt51
عسكرية /m/01h6rj
السياسة /m/05qt0
الديانة /m/06bvp
- تمت إزالة الموضوع
Animated cartoon
، الذي كان سابقًا ثانويًا لـEntertainment
. - تمت إزالة الموضوع
Children's music
، الذي كان سابقًا ثانويًا لـMusic
.
نتيجةً لهذا التغيير، يتم دائمًا عرض المواضيع ذات الصلة بالفيديو في قيمة السمة topicDetails.relevantTopicIds[]
لمورد video
.
29 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
هناك ثلاثة تغييرات صغيرة على قائمة معرّفات المواضيع التي ستتوفَّر اعتبارًا من 10 شباط (فبراير) 2017:
- أصبحت الفئة
Professional wrestling
، التي كانت سابقًا فئة فرعية للفئةSports
، فئة فرعية لـEntertainment
. - الفئة
TV shows
، وهي فئة فرعية منEntertainment
، هي فئة جديدة. - تمت إزالة الفئة
Health
، التي كانت سابقًا فئة فرعية لـLifestyle
.
تجدر الإشارة أيضًا إلى أنّ هناك بعض الفئات الرئيسية (
Entertainment
وGaming
وLifestyle
وMusic
وSports
). وأي فيديو مرتبط بفئة فرعية، مثلTennis
، سيتم ربطه أيضًا بالفئة الرئيسية (Sports
). - أصبحت الفئة
10 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
وفقًا لما تم الإعلان عنه لأول مرة في 11 آب (أغسطس) 2016، يتطلّب إيقاف Freebase وFreebase API إجراء العديد من التغييرات ذات الصلة بمعرّفات المواضيع. تحدّد أرقام تعريف المواضيع المواضيع المرتبطة بموارد
channel
وvideo
، ويمكنك أيضًا استخدام معلمة البحثtopicId
للعثور على قنوات أو فيديوهات ذات صلة بموضوع معيّن.في 10 شباط (فبراير) 2017، سيبدأ YouTube بعرض مجموعة صغيرة من معرّفات المواضيع بدلاً من مجموعة معرّفات المواضيع الأكثر دقة التي عرضتها حتى الآن. بالإضافة إلى ذلك، لا يمكننا ضمان ربط القنوات والفيديوهات بأي مواضيع، وذلك بما يتوافق مع السلوك الحالي لواجهة برمجة التطبيقات.
حتى تتمكّن من تحضير برامج واجهة برمجة التطبيقات لهذه التغييرات، تم تعديل تعريفات مَعلمات وخصائص واجهة برمجة التطبيقات التالية لإدراج أرقام تعريف المواضيع التي ستكون متاحة بعد ذلك الوقت. تجدر الإشارة إلى أنّ قائمة الفئات هي نفسها لجميع المواقع.
- السمة
topicDetails.topicIds[]
لموردchannel
. - السمة
topicDetails.relevantTopicIds[]
لموردvideo
. - معلمة
topicId
لطريقةsearch.list
.
- السمة
-
ملاحظة: هذا إشعار بالإيقاف النهائي.
يتم إيقاف السمات التالية نهائيًا:
- السمة
topicDetails.topicIds[]
لموردchannel
. سيظل هذا الموقع متاحًا حتى 10 تشرين الثاني (نوفمبر) 2017. - السمة
topicDetails.relevantTopicIds[]
لموردvideo
. سيظل هذا الموقع متاحًا حتى 10 تشرين الثاني (نوفمبر) 2017. - السمة
topicDetails.topicIds[]
لموردvideo
. لن تحتوي هذه السمة على قيم بعد 10 شباط (فبراير) 2017. (بعد ذلك التاريخ، ستحدّد قيمة السمةtopicDetails.relevantTopicIds[]
كل المواضيع المرتبطة بالفيديو.)
- السمة
-
بما أنّه سبق أن تم إيقاف Freebase نهائيًا، تمت إزالة دليل البحث باستخدام Freebase Topics من المستندات. قدم هذا الدليل نماذج تعليمات برمجية لتوضيح كيفية عمل أحد التطبيقات مع واجهة برمجة تطبيقات Freebase.
بالإضافة إلى ذلك، تمت إزالة العديد من عيّنات التعليمات البرمجية ذات الصلة بمعرّفات المواضيع من مستندات طريقة
search.list
.
2 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
المواقع والمَعلمات الجديدة
-
يحتوي مورد
video
على عدة خصائص جديدة:-
تحتوي السمة
player.embedHtml
على العلامة<iframe>
التي يمكنك استخدامها لتضمين مشغّل لتشغيل الفيديو. تحدّد السمتانplayer.embedHeight
وplayer.embedWidth
الجديدتان أبعاد المشغّل المضمّن. لا يتمّ عرض هذه السمات إلّا إذا حدّد طلب البيانات من واجهة برمجة التطبيقات قيمة واحدة على الأقل من مَعلمةmaxHeight
أوmaxWidth
. وسيتم شرح هاتين المعلمتين الجديدتين لاحقًا في إدخال سجل النُسخ السابقة هذا. -
تحدد السمة
hasCustomThumbnail
الجديدة ما إذا كان القائم بتحميل الفيديو قد قدم صورة مصغّرة مخصّصة للفيديو. لاحظ أن هذه الخاصية تكون مرئية للقائم بتحميل الفيديو فقط. -
تحدّد السمة
fpbRatingReasons[]
الجديدة أسباب حصول الفيديو على تقييم FPB (في جنوب أفريقيا). -
تحدّد السمة
mcstRating
الجديدة التقييم الذي حصل عليه الفيديو في فيتنام.
-
-
تتيح الطريقة
videos.list
معلَمتَين جديدتَين، وهماmaxHeight
وmaxWidth
. يمكنك استخدام المَعلمة أو كلتا المعلمتَين عند استرداد الجزءplayer
في مواردvideo
.يبلغ ارتفاع
<iframe>
الذي يتم عرضه في السمةplayer.embedHtml
تلقائيًا 360 بكسل. يتم ضبط العرض ليلائم نسبة العرض إلى الارتفاع للفيديو، مما يضمن عدم وجود أشرطة سوداء محاطة بإطار الفيديو لذلك، على سبيل المثال، إذا كانت نسبة العرض إلى الارتفاع للفيديو هي 16:9، يكون عرض المشغّل 640 بكسل.باستخدام المعلَمات الجديدة، يمكنك تحديد أنّ رمز التضمين يجب أن يستخدم ارتفاعًا و/أو عرضًا مناسبًا لتخطيط تطبيقك بدلاً من الأبعاد التلقائية. يضبط خادم واجهة برمجة التطبيقات أبعاد المشغّل على النحو المناسب لضمان عدم وجود أشرطة سوداء محاطة بإطار الفيديو. تجدر الإشارة إلى أنّ كلتا المعلمتَين تحدّدان الحدّ الأقصى لأبعاد المشغّل المضمَّن. وبالتالي، في حال تحديد كلتا المعلمتَين، قد تكون إحدى السمات أصغر من الحدّ الأقصى للمبلغ المسموح به لهذه السمة.
على سبيل المثال، لنفترض أنّ نسبة العرض إلى الارتفاع في الفيديو هي 16:9. وبالتالي، قد تحتوي العلامة
player.embedHtml
على مشغّل مقاس 640x360 في حال عدم ضبط المَعلمةmaxHeight
أوmaxWidth
.- في حال ضبط المعلَمة
maxHeight
على720
بدون ضبط المَعلمةmaxWidth
، ستعرض واجهة برمجة التطبيقات مشغّلًا بحجم 1280x720. - في حال ضبط المعلَمة
maxWidth
على960
بدون ضبط المَعلمةmaxHeight
، ستعرض واجهة برمجة التطبيقات مشغّلاً بحجم 960x540. - إذا تم ضبط المعلَمة
maxWidth
على960
والمعلَمةmaxHeight
على450
، ستعرض واجهة برمجة التطبيقات مشغّل مقاس 800x450.
إنّ السمتَين الجديدتَين
player.embedHeight
وplayer.embedWidth
، والموضّحة أعلاه، تحدّدان أبعاد المشغّل. - في حال ضبط المعلَمة
-
-
تعديلات على الطرق والخصائص والمَعلمات الحالية
-
تم تعديل وصف المورد
channelSection
لملاحظة أنّه بإمكان القناة إنشاء 10 رفوف كحدّ أقصى بدون ضبط بيانات الاستهداف، ويمكنها إنشاء 100 رف كحدٍّ أقصى مع بيانات الاستهداف.بالإضافة إلى ذلك، تم تعديل الخاصية
targeting
لموردchannelSection
لتعكس حقيقة أنّه لا يمكن ضبط خيارات الاستهداف إلا باستخدام واجهة برمجة التطبيقات. يتم حذف خيارات الاستهداف إذا تم تعديل قسم القناة باستخدام واجهة المستخدم على موقع YouTube الإلكتروني. -
تم تصحيح تعريف السمة
snippet.name
لموردi18nLanguage
ليعكس أن القيمة تمثل اسم اللغة كما هو مكتوب باللغة المحدَّدة في معلَمةhl
لطريقةi18nLanguage.list
. -
تم تعديل السمة
contentDetails.note
لموردplaylistItem
لملاحظة أنّ الحد الأقصى لطول قيمة هذه السمة هو 280 حرفًا. -
تم إيقاف السمتَين
contentDetails.startAt
وcontentDetails.endAt
للموردَينplaylistItem
نهائيًا. يتم تجاهل هذه الحقول في حال ضبطها في طلباتplaylistItems.insert
أوplaylistItems.update
. -
تتيح الطريقتان
playlistItems.delete
وplaylistItems.update
الآن المَعلمةonBehalfOfContentOwner
، وهي متاحة حاليًا لعدة طرق أخرى. يجب أيضًا أن يتم تفويض الطلبات التي تستخدم هذه الطريقة باستخدام رمز مميّز يتيح الوصول إلى نطاقhttps://www.googleapis.com/auth/youtubepartner
. -
تم تعديل كلتا المعلمتَين
publishedBefore
وpublishedAfter
لطريقةsearch.list
للإشارة إلى أنّ قيمتَي المَعلمتَين شاملة. لذلك، على سبيل المثال، إذا تم ضبط المعلَمةpublishedBefore
، تعرض واجهة برمجة التطبيقات الموارد التي تم إنشاؤها قبل أو في الوقت المحدد. -
تتيح السمة
contentDetails.contentRating.grfilmRating
في الموردvideo
ثلاث قيم إضافية:grfilmK12
وgrfilmK15
وgrfilmK18
. -
تم تعديل وصف طريقة
videos.insert
لملاحظة أنّ الحد الأقصى لحجم ملفات الفيديوهات المحمَّلة قد زاد من 64 غيغابايت إلى 128 غيغابايت.
-
-
الأخطاء الجديدة والمعدّلة
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
نوع الخطأ تفاصيل الخطأ الوصف forbidden (403)
homeParameterDeprecated
تعرض طريقة activities.list
هذا الخطأ للإشارة إلى أنّ بيانات نشاط الصفحة الرئيسية للمستخدم غير متاحة من خلال واجهة برمجة التطبيقات هذه. قد يحدث هذا الخطأ في حال ضبط المعلَمةhome
علىtrue
في طلب غير مصرَّح به.invalidValue (400)
invalidContentDetails
تعرض الطريقة playlistItems.insert
هذا الخطأ للإشارة إلى أنّ عنصرcontentDetails
في الطلب غير صالح. أحد أسباب حدوث هذا الخطأ هو أنّ الحقلcontentDetails.note
أطول من 280 حرفًا.forbidden (403)
watchHistoryNotAccessible
تعرض الطريقة playlistItems.list
هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل "سجلّ المشاهدة"، ولكن تعذّر استردادها باستخدام واجهة برمجة التطبيقات.forbidden (403)
watchLaterNotAccessible
تعرض الطريقة playlistItems.list
هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل "المشاهدة لاحقًا"، ولكن لا يمكن استردادها باستخدام واجهة برمجة التطبيقات.badRequest (400)
uploadLimitExceeded
تعرض الطريقة videos.insert
هذا الخطأ للإشارة إلى أنّ القناة قد تجاوزت عدد الفيديوهات التي يمكن تحميلها.forbidden (403)
forbiddenEmbedSetting
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ طلب البيانات من واجهة برمجة التطبيقات يحاول ضبط إعداد تضمين غير صالح للفيديو. يُرجى العِلم أنّ بعض القنوات قد لا تملك الإذن بعرض مشغّلات مضمّنة لأحداث البث المباشر. يمكنك الاطّلاع على مركز مساعدة YouTube للحصول على مزيد من المعلومات. -
لم تعُد الطريقة
playlistItems.insert
تعرض رسالة خطأ في حال إدراج فيديو مكرّر في قائمة تشغيل. حدث هذا الخطأ في السابق لبعض قوائم التشغيل، مثل الفيديوهات المفضّلة، التي لم تسمح بنشر تكرارات ولكن لم تعُد معتمدة. بشكل عام، تسمح قوائم التشغيل بالفيديوهات المكررة.
-
-
تعديلات أخرى
-
تم تعديل إدخال سجلّ النُسخ السابقة بتاريخ 15 أيلول (سبتمبر) 2016 لتوضيح أنه عندما يتم تضمين السمتين
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
للموردين فيchannel
في استجابة، سيحتوي ذلك دائمًا على القيمتينHL
وWL
على التوالي. علاوةً على ذلك، لا يتم تضمين هذه الخصائص إلا إذا كان مستخدم مفوّض يسترد البيانات المتعلقة بقناة المستخدم.
-
15 أيلول (سبتمبر) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
ناقش تحديث سجلّ النُسخ السابقة في 11 آب (أغسطس) 2016 العديد من التغييرات المتعلقة بمعرّفات المواضيع، بما في ذلك تغيير مجموعة معرّفات المواضيع المتوافقة اعتبارًا من 10 شباط (فبراير) 2017. وسيتم نشر قائمة المواضيع التي ستُضاف إلى 10 تشرين الثاني (نوفمبر) 2016.
-
تم تطبيق التغييرات التالية. تم تقديم الإشعار بهذه التغييرات في تحديث سجلّ النُسخ السابقة في 11 آب (أغسطس) 2016:
-
إذا كان يتم استدعاء الإجراء
activities.list
مع ضبط المعلَمةhome
علىtrue
، ستتضمّن استجابة واجهة برمجة التطبيقات الآن عناصر مشابهة لما يظهر لمستخدم YouTube مسجّل الخروج على الصفحة الرئيسية.يهدف هذا التغيير إلى تقديم تجربة أفضل للمستخدم من السلوك الموضَّح في تحديث سجلّ النُسخ السابقة في 11 آب (أغسطس) 2016. وقد أشار هذا التعديل إلى أنّ الطلبات التي تستخدم المَعلمة
home
ستعرض قائمة فارغة. -
تحتوي السمتان
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
لموردchannel
الآن على القيمتينHL
وWL
على التوالي لكل القنوات.لتوضيح الأمر، هذه السمات مرئية فقط للمستخدم المُصرح له الذي يسترد البيانات المتعلقة بقناة المستخدم. تحتوي السمات دائمًا على القيمتَين
HL
وWL
، حتى بالنسبة إلى المستخدم المُصرَّح له باسترداد بيانات حول قناة المستخدم. وبالتالي، لا يمكن استرداد معرّفات قوائم التشغيل الخاصة بسجلّ المشاهدة وقوائم التشغيل في وقت لاحق عبر واجهة برمجة التطبيقات.بالإضافة إلى ذلك، عند طلب استرداد تفاصيل قائمة التشغيل (
playlists.list
) أو عناصر قائمة التشغيل (playlistItems.list
) لسجلّ المشاهدة أو قائمة التشغيل "المشاهدة لاحقًا"، أصبحت قوائم التشغيل فارغة. وينطبق هذا السلوك على القيم الجديدة،HL
وWL
، بالإضافة إلى أي معرّفات لسجلّ المشاهدة أو قوائم التشغيل "المشاهدة لاحقًا" التي قد يكون عميل API خزّنها سابقًا.
-
-
لم يعد يتم عرض الكائن
fileDetails.recordingLocation
في الموردvideo
وخصائصه الفرعية. في السابق، كان بإمكان مالك الفيديو فقط استرداد هذه البيانات (مثل العنصرfileDetails
الرئيسي).
11 آب (أغسطس) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
إنّ بنود الخدمة الخاصة بخدمات واجهة برمجة تطبيقات YouTube المنشورة حديثًا (المُشار إليها باسم "البنود المعدَّلة")، والتي تمت مناقشتها بالتفصيل في مدوّنة الهندسة والمطوّرين في YouTube، توفّر مجموعة واسعة من التعديلات على بنود الخدمة الحالية. بالإضافة إلى البنود المعدَّلة التي سيتم تطبيقها اعتبارًا من 10 شباط (فبراير) 2017، سيتضمّن هذا التعديل العديد من المستندات الداعمة للمساعدة في توضيح السياسات التي يجب على المطوّرين اتّباعها.
يتم وصف المجموعة الكاملة من المستندات الجديدة في سجلّ النُسخ المعدَّلة من "البنود المعدَّلة". بالإضافة إلى ذلك، سيتم أيضًا شرح التغييرات المستقبلية التي سيتم إجراؤها على البنود المعدّلة أو تلك المستندات الداعمة في سجلّ المراجعة هذا. يمكنك الاشتراك في صفحة التغييرات المدرَجة في قائمة خلاصة RSS في سجلّ النُسخ السابقة من رابط في هذا المستند.
-
يؤدي إيقاف Freebase وFreebase API نهائيًا إلى حدوث العديد من التغييرات المرتبطة بمعرّفات المواضيع. تُستخدَم أرقام تعريف المواضيع في موارد واجهة برمجة التطبيقات وطرقها التالية:
- يحدد الجزء
topicDetails
من الموردchannel
المواضيع المرتبطة بالقناة. - يحدّد الجزء
topicDetails
من الموردvideo
المواضيع المرتبطة بالفيديو. - تتيح لك مَعلمة
topicId
في طريقةsearch.list
البحث عن فيديوهات أو قنوات مرتبطة بموضوع معيّن.
تشمل التغييرات التي يتم إجراؤها على هذه الميزات ما يلي:
-
ابتداءً من 10 شباط (فبراير) 2017، سيبدأ YouTube بعرض مجموعة صغيرة من معرّفات المواضيع بدلاً من مجموعة المعرّفات الأكثر دقة التي عرضتها حتى الآن. ستحدِّد هذه المجموعة من المواضيع المتاحة التصنيفات عالية المستوى، مثل الرياضة أو كرة السلة، ولكنها لن تحدّد مثلاً فِرقًا أو لاعبين محدَّدين. سنعلن عن مجموعة المواضيع المعتمَدة حتى يتسنى لك الوقت لإعداد طلبك لهذا التغيير.
-
ويمكن استخدام أي معرّفات لمواضيع Freebase تم استردادها من قبل للبحث عن المحتوى حتى 10 شباط (فبراير) 2017. ولكن بعد هذا الوقت، ستتمكّن فقط من استخدام المجموعة الأصغر من المواضيع المحدّدة في العنصر السابق لاسترداد نتائج البحث حسب الموضوع.
-
بعد 10 شباط (فبراير) 2017، إذا حاولت البحث عن النتائج باستخدام رقم تعريف موضوع غير مُدرَج في المجموعة الأصغر من معرّفات المواضيع المتوافقة، ستعرض واجهة برمجة التطبيقات مجموعة نتائج فارغة.
- يحدد الجزء
-
سيتم إيقاف العديد من حقول ومعلَمات واجهة برمجة التطبيقات اعتبارًا من 12 أيلول (سبتمبر) 2016:
-
من خلال المَعلمة
home
لطريقةactivities.list
، يمكن لمستخدم مفوّض استرداد خلاصة النشاط التي قد تظهر على صفحة YouTube الرئيسية لهذا المستخدم. ستعرض الطلبات التي تستخدم هذه المَعلمة بعد 12 أيلول (سبتمبر) 2016 قائمة فارغة. -
لا يمكن لأحد غير مستخدم مصرّح له أن يسترد البيانات المتعلقة بقناة هذا المستخدم أن يسترد السمتين
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
لموردchannel
. بعد 12 أيلول (سبتمبر) 2016، ستعرض السمةcontentDetails.relatedPlaylists.watchHistory
القيمةHL
وستعرض السمةcontentDetails.relatedPlaylists.watchLater
القيمةWL
لجميع القنوات.بعد 12 أيلول (سبتمبر) 2016، ستظهر قائمة فارغة في طلبات استرداد تفاصيل قائمة التشغيل (
playlists.list
) لسجلّ المشاهدة في قناة أو قائمة تشغيل "المشاهدة لاحقًا". في أي من قائمتَي التشغيل هاتين، سيتم عرض قائمة فارغة بعد انتهاء هذه المدة في طلبات استرداد عناصر قوائم التشغيل (playlistItems.list
). وينطبق ذلك على القيمتَين الجديدتَين،HL
وWL
، بالإضافة إلى أي معرّفات لسجلّ المشاهدة أو قوائم تشغيل "المشاهدة لاحقًا" التي قد يكون عميل API قد خزّنها في السابق. -
لن يتم عرض الكائن
fileDetails.recordingLocation
في موردvideo
أو أي من خصائصه الفرعية بعد 12 أيلول (سبتمبر) 2016. يمكن لمالك الفيديو فقط استرداد هذه البيانات، لأنّ مالك الفيديو وحده يمكنه استرداد العنصر الرئيسيfileDetails
.
-
13 حزيران (يونيو) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
تم إيقاف الخاصية
contentDetails.googlePlusUserId
للموردchannel
نهائيًا. في السابق، لم يكن الموقع متوفرًا إلا إذا كانت القناة مرتبطة بملف شخصي في +Google. بعد إيقاف هذا الموقع نهائيًا، لن يتوفَّر الموقع في أي من مواردchannel
. -
تم إيقاف الخاصية
snippet.authorGoogleplusProfileUrl
للموردcomment
نهائيًا. في السابق، لم يكن الموقع متوفرًا إلا إذا كانت القناة مرتبطة بملف شخصي في +Google. بعد إيقاف هذا الموقع نهائيًا، لن يتوفَّر الموقع في أي من مواردcomment
.
ولأنّه لن يتم عرض أي من هذين الموقعَين بعد الإيقاف، تمت إزالة الموقعَين من مستندات المرجع ذات الصلة.
31 أيار (مايو) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
تسترد المعلمة
myRecentSubscribers
الجديدة الخاصة بطريقةsubscriptions.list
قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه بترتيب زمني عكسي للوقت الذي اشترك فيه في القناة.تجدر الإشارة إلى أنّ المَعلمة الجديدة تتيح فقط استرداد أحدث 1,000 مشترك في قناة المستخدم الذي تمت المصادقة عليه. لاسترداد قائمة كاملة بالمشتركين، يمكنك استخدام المعلمة
mySubscribers
. لا تحدّ هذه المَعلمة من عدد المشتركين الذين يمكن استردادهم، والتي لا تعرض المشتركين بترتيب معيّن. -
تم تعديل تعريف السمة
snippet.thumbnails.(key)
لموارد النشاط وplaylistItem وقائمة التشغيل ونتيجة البحث والصورة المصغّرة والفيديو للإشارة إلى توفّر أحجام إضافية للصور المصغّرة لبعض الفيديوهات.- يبلغ عرض الصورة
standard
640 بكسل وطولها 480 بكسل. - يبلغ عرض الصورة
maxres
1280 بكسل وطولها 720 بكسل.
- يبلغ عرض الصورة
-
تم تعديل تعريف معلَمة
part
لطريقةchannelSection.list
لملاحظة أنّه يمكن استرداد الجزءtargeting
مقابل تكلفة وحدات حصة تبلغ2
. -
تعرض الطريقة
videos.list
الآن الخطأ محظور (403
) عندما يحاول طلب مصرَّح به بشكل غير صحيح استرداد الأجزاءfileDetails
أوprocessingDetails
أوsuggestions
من موردvideo
. وتتوفّر هذه الأجزاء لمالك الفيديو فقط.
17 أيار (مايو) 2016
توفّر أداة مقتطفات الرمز في Data API الجديدة مقتطفات رموز قصيرة لحالات استخدام YouTube Data API الشائعة. تتوفر مقتطفات الرمز حاليًا لجميع طرق واجهة برمجة التطبيقات للقراءة فقط في لغة برمجة التطبيقات وGo وJavaScript وPHP وPython وRuby.
تعرض الأداة عيّنات من التعليمات البرمجية لحالة استخدام واحدة أو أكثر، وذلك لكل طريقة. على سبيل المثال، توفِّر الأداة خمسة مقتطفات رمز لطريقة search.list
:
- إدراج الفيديوهات حسب الكلمة الرئيسية
- إدراج الفيديوهات حسب الموقع الجغرافي
- إدراج أحداث مباشرة
- البحث عن فيديوهات المستخدم الذي تمت المصادقة عليه
- إدراج الفيديوهات ذات الصلة
لكل حالة استخدام، تعرض الأداة المعلَمات المستخدَمة في طلب البيانات من واجهة برمجة التطبيقات. يمكنك تعديل قيم المَعلمات، وفي هذه الحالة، تعدِّل الأداة مقتطفات الرمز لتعكس قيم المَعلمات التي قدّمتها.
وأخيرًا، تعرض الأداة استجابة واجهة برمجة التطبيقات لكل طلب. وإذا كنت قد عدّلت مَعلمات الطلب، سيعتمد ردّ واجهة برمجة التطبيقات على قيم المَعلمات التي قدّمتها. تجدر الإشارة إلى أنّك تحتاج إلى السماح للأداة بإرسال طلبات نيابةً عنك لعرض ردود واجهة برمجة التطبيقات.
28 نيسان (أبريل) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
تحدد السمة
contentDetails.projection
الجديدة في الموردvideo
تنسيق عرض الفيديو. القيمتان الصالحتان للسمة هما360
وrectangular
. -
تم تعديل السمتَين
recordingDetails.location
وfileDetails.recordingLocation
لموردvideo
لتوضيح الفرق بين السمتَين:- تحدد السمة
recordingDetails.location
الموقع الجغرافي الذي يريد مالك الفيديو ربطه بالفيديو. يمكن تعديل هذا الموقع الجغرافي والبحث عنه في الفيديوهات العلنية وقد يتم عرضه للمستخدمين عندما تكون الفيديوهات علنية. - قيمة السمة
fileDetails.recordingLocation
غير قابلة للتغيير وتمثّل الموقع المرتبط بملف الفيديو الأصلي الذي تم تحميله. تكون القيمة مرئية فقط لمالك الفيديو.
- تحدد السمة
-
تم تعديل تعريف السمة
contentDetails.relatedPlaylists.favorites
لموردchannel
لملاحظة أنّ قيمة السمة قد تحتوي على رقم تعريف قائمة تشغيل يشير إلى قائمة تشغيل فارغة ولا يمكن جلبها. ويعود ذلك إلى أنّه سبق وتم إيقاف وظيفة الفيديوهات المفضّلة. يُرجى العلم أنّ هذا الموقع لا يخضع لسياسة إيقاف واجهة برمجة التطبيقات. -
تم تعديل تعريف الخطأ
ineligibleAccount
، والذي يمكن عرضه باستخدام طريقةcomments.insert
، أوcomments.update
، أوcommentThreads.insert
، أوcommentThreads.update
، لتعكس حدوث الخطأ عندما لا يتم دمج حساب YouTube المستخدَم للسماح بطلب البيانات من واجهة برمجة التطبيقات مع حساب المستخدم على Google.
20 نيسان (أبريل) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل تعريف معلَمة
part
الخاص بطريقةchannels.update
لملاحظة أنّlocalizations
هي أيضًا قيمة صالحة لهذه المَعلمة. -
تم تحديث قسم استخدام الحصة في دليل "البدء" للربط بـ Google Developer Console، حيث يمكنك الاطّلاع على الحصة الفعلية واستخدام الحصة.
16 آذار (مارس) 2016
يتضمّن هذا التعديل التغييرات التالية:
-
تعديلات على الموارد والطرق الحالية
-
تم تعديل مستندات مرجع
channelBanner
لملاحظة أنّ الحجم المقترَح لصورة بانر القناة التي تم تحميلها هو 2560 × 1440 بكسل. لم يتغير الحد الأدنى للحجم (2048 بكسل × 1152 بكسل). -
تحدد السمة
snippet.customUrl
الجديدة في الموردchannel
عنوان URL المخصّص المرتبط بالقناة. (لا تملك بعض القنوات عناوين URL مخصّصة). يشرح مركز مساعدة YouTube متطلبات الأهلية للحصول على عنوان URL مخصّص بالإضافة إلى كيفية إعداد عنوان URL. -
تم إيقاف الكائن
brandingSettings.watch
في موردchannel
وجميع خصائصه الفرعية نهائيًا. -
تتضمّن الآن استجابة واجهة برمجة التطبيقات لطلب "
search.list
" السمةregionCode
. تحدد الخاصية رمز المنطقة الذي تم استخدامه لطلب البحث. يطلب رمز المنطقة من واجهة برمجة التطبيقات عرض نتائج البحث للبلد المحدّد.قيمة الخاصية هي رمز بلد مكوّن من حرفين وفقًا لمعيار ISO ويحدد المنطقة. تعرض الطريقة
i18nRegions.list
قائمة بالمناطق المتاحة. القيمة التلقائية هيUS
. وإذا تم تحديد منطقة غير متاحة، قد يختار YouTube منطقة أخرى بدلاً من القيمة التلقائية لمعالجة طلب البحث. -
تم تعديل تعريفات السمتَين
snippet.label
وsnippet.secondaryReasons[].label
لموردvideoAbuseReportReason
لملاحظة أنّ السمات تحتوي على نص تصنيف مترجم لأسباب تتعلّق بتقارير إساءة الاستخدام.بالإضافة إلى ذلك، تتيح الطريقة
videoAbuseReportReasons.list
الآن المَعلمةhl
التي تحدّد اللغة التي يجب استخدامها لنص التصنيف في استجابة واجهة برمجة التطبيقات. قيمة المَعلمة التلقائية هيen_US
. -
تحدّد السمة
contentDetails.contentRating.ecbmctRating
الجديدة في الموردvideo
تقييم الفيديو الصادر عن مجلس التقييم والتصنيف في وزارة الثقافة والسياحة التركية.إضافةً إلى ذلك، تتيح خصائص واجهة برمجة التطبيقات لأنظمة التقييم الأخرى استخدام القيم الجديدة التالية للخصائص:
contentDetails.contentRating.fpbRating
(جنوب أفريقيا)
التقييم: 10؛ قيمة السمة:fpb10
contentDetails.contentRating.moctwRating
(تايوان)
التقييم: R-12، قيمة السمة:moctwR12
contentDetails.contentRating.moctwRating
(تايوان)
التقييم: R-15، قيمة السمة:moctwR15
-
تحتوي السمة
liveStreamingDetails.activeLiveChatId
في موردvideo
على رقم تعريف المحادثة المباشرة النشطة المرتبطة بالفيديو. تظهر قيمة السمة فقط إذا كان الفيديو عبارة عن بث مباشر حالي تم تفعيل المحادثة المباشرة فيه. وبعد انتهاء البث وانتهاء المحادثة المباشرة، يتم إيقاف السمة المخصّصة للفيديو. -
تتيح السمة
status.rejectionReason
في الموردvideo
قيمة السمة الجديدةlegal
.
-
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
notEditable
تعرض الطرق channelSections.insert
وchannelSections.update
وchannelSections.delete
هذا الخطأ للإشارة إلى تعذّر إنشاء قسم القناة المحدد أو تعديله أو حذفه.badRequest (400)
styleRequired
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ للإشارة إلى أنّ موردchannelSection
الذي تم إرساله في طلب واجهة برمجة التطبيقات يجب أن يحدّد قيمة للسمةsnippet.style
.badRequest (400)
typeRequired
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ للإشارة إلى أنّ موردchannelSection
الذي تم إرساله في طلب واجهة برمجة التطبيقات يجب أن يحدّد قيمة للسمةsnippet.type
.badRequest (400)
processingFailure
تعرض الطريقة commentThreads.list
هذا الخطأ للإشارة إلى تعذّر معالجة الطلب بنجاح من خلال خادم واجهة برمجة التطبيقات. وعلى الرغم من أن هذا الخطأ قد يكون عابرًا، إلا أنه يشير عادةً إلى أن ما تم إدخاله في الطلب غير صالح. راجِع بنية موردcommentThread
في نص الطلب للتأكّد من أنّه صالح.forbidden (403)
commentsDisabled
تعرض الطريقة commentThreads.list
هذا الخطأ للإشارة إلى أنّ الفيديو الذي تحدّده المعلَمةvideoId
قد أوقف ميزة التعليقات.badRequest (400)
commentTextTooLong
تعرض الطريقة commentThreads.insert
هذا الخطأ للإشارة إلى أنّ موردcomment
الذي يتم إدراجه يحتوي على عدد كبير جدًا من الأحرف في السمةsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
تعرض الطريقة playlistItems.insert
هذا الخطأ للإشارة إلى أنّ الفيديو الذي تحاول إضافته إلى قائمة التشغيل مُدرَج في قائمة تشغيل متسلسلة أخرى. يُرجى الانتقال إلى مركز مساعدة YouTube للاطّلاع على المزيد من المعلومات حول قوائم تشغيل الفيديوهات المتسلسلة.badRequest (400)
subscriptionForbidden
تعرض الطريقة subscriptions.insert
هذا الخطأ للإشارة إلى أنك وصلت إلى الحد الأقصى لعدد الاشتراكات أو أنك أنشأت عددًا كبيرًا جدًا من الاشتراكات الحديثة. وفي الحالة الثانية، يمكنك إعادة محاولة الطلب بعد بضع ساعات.badRequest (400)
invalidCategoryId
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.categoryId
في موردvideo
الذي تم تحميله حدّدت معرّف فئة غير صالح. استخدِم طريقةvideoCategories.list
لاسترداد الفئات المتوافقة.badRequest (400)
invalidDescription
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.description
في موردvideo
الذي تم تحميله حدّدت قيمة غير صالحة.badRequest (400)
invalidPublishAt
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةstatus.publishAt
في موردvideo
الذي تم تحميله تحدّد وقت نشر مجدول غير صالح.badRequest (400)
invalidRecordingDetails
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ العنصرrecordingDetails
في موردvideo
الذي تم تحميله حدّد تفاصيل تسجيل غير صالحة.badRequest (400)
invalidTags
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.tags
في موردvideo
الذي تم تحميله حدّدت قيمة غير صالحة.badRequest (400)
invalidTitle
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.title
في موردvideo
الذي تم تحميله تحدّد عنوان فيديو غير صالح أو فارغًا.badRequest (400)
invalidVideoMetadata
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ البيانات الوصفية للطلب غير صالحة. يحدث هذا الخطأ إذا عدَّل الطلب الجزءsnippet
من موردvideo
مع عدم ضبط قيمة لكل من السمتَينsnippet.title
وsnippet.categoryId
.
18 كانون الأول (ديسمبر) 2015
بموجب قوانين الاتحاد الأوروبي، يجب تقديم بعض الإفصاحات والحصول على موافقات من المستخدمين النهائيين في الاتحاد الأوروبي. وبالتالي، بالنسبة إلى المستخدمين النهائيين في الاتحاد الأوروبي، عليك الالتزام بسياسة موافقة المستخدم في الاتحاد الأوروبي. وقد أضفنا إشعارًا بهذا الشرط في بنود خدمة واجهة برمجة تطبيقات YouTube.
19 تشرين الثاني (نوفمبر) 2015
تتيح واجهة برمجة التطبيقات الآن إمكانية ضبط النص المترجَم واسترداده للسمتَين snippet.title
وsnippet.description
للموارد playlist
وvideo
، والسمة snippet.title
لمورد channelSection
، والسمة snippet.description
لمورد channel
.
-
ضبط عناوين وأوصاف مترجَمة
يمكنك ضبط قيم مترجَمة لمورد عند استدعاء طريقة
insert
أوupdate
لهذا المورد. لضبط القيم المترجَمة لمورد ما، يمكنك تنفيذ الإجراءَين التاليَين:-
تأكّد من ضبط قيمة للسمة
snippet.defaultLanguage
الخاصة بالمورد. تحدِّد تلك السمة لغة السمتَينsnippet.title
وsnippet.description
للمصدر. ويمكن أن تكون قيمتها أيّ لغة تطبيق متوافقة أو معظم رموز اللغات الأخرى وفقًا لمعيار ISO 639-1:2002. على سبيل المثال، إذا حمّلت فيديو يحتوي على عنوان ووصف باللغة الإنجليزية، يجب ضبط السمةsnippet.defaultLanguage
علىen
.ملاحظة لتعديل موارد
channel
: لضبط السمةsnippet.defaultLanguage
لموردchannel
، عليك تعديل السمةbrandingSettings.channel.defaultLanguage
. -
أضِف الكائن
localizations
إلى المورد الذي تعدّله. كل مفتاح عنصر هو سلسلة تحدِّد لغة تطبيق أو رمز اللغة وفقًا لمعيار ISO 639-1:2002، ويتم تعيين كل مفتاح لعنصر يحتوي على عنوان (ووصف) مترجم للمورِّد.يحدّد المقتطف النموذجي أدناه اللغة التلقائية للمورّد على اللغة الإنجليزية. وتضيف أيضًا عناوين وأوصاف مترجَمة باللغة الألمانية والإسبانية إلى الفيديو:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
ملاحظة مهمة: عند تعديل البيانات المترجَمة لمورد ما، يجب أن يتضمّن طلب البيانات من واجهة برمجة التطبيقات جميع النُسخ الحالية المترجَمة من البيانات. على سبيل المثال، إذا أرسلت طلبًا لاحقًا لإضافة بيانات باللغة البرتغالية إلى الفيديو في المثال أعلاه، يجب أن يتضمّن الطلب البيانات المترجَمة إلى اللغات الألمانية والإسبانية والبرتغالية.
-
-
استرداد القيم المترجَمة
تتيح واجهة برمجة التطبيقات طريقتَين لاسترداد القيم المترجَمة لأحد الموارد:
-
أضِف المَعلمة
hl
إلى الطلبchannels.list
أوchannelSections.list
أوplaylists.list
أوvideos.list
لاسترداد البيانات المترجَمة إلى لغة تطبيق محدّدة يتيحها موقع YouTube الإلكتروني. في حال توفّر تفاصيل المورد المترجَمة بتلك اللغة، سيحتوي عنصرsnippet.localized
للمورد على القيم المترجَمة. في حال عدم توفّر التفاصيل المترجَمة، سيحتوي العنصرsnippet.localized
على تفاصيل المورد باللغة التلقائية للمورد.على سبيل المثال، لنفترض أنّ طلب
videos.list
استردّ بيانات الفيديو الموضّح أعلاه مع بيانات مترجَمة باللغة الألمانية والإسبانية. إذا تم ضبط المعلَمةhl
علىde
، سيحتوي المورد على البيانات التالية:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
مع ذلك، إذا تم ضبط المعلَمة
hl
علىfr
، سيحتوي الكائنsnippet.localized
على العنوان والوصف باللغة الإنجليزية لأنّ اللغة الإنجليزية هي اللغة التلقائية للمصدر ولا تتوفّر التفاصيل المترجَمة باللغة الفرنسية.ملاحظة مهمة: تتوافق المَعلمةhl
فقط مع القيم التي تحدِّد لغات التطبيقات المعتمَدة على موقع YouTube الإلكتروني. لتحديد ما إذا كان النص المترجَم متاحًا للغات أخرى، يجب استرداد الجزءlocalizations
للمصدر والفلترة لتحديد ما إذا كان النص المترجَم متاحًا أم لا.
على سبيل المثال، قد تحتاج إلى استرداد القائمة الكاملة لعمليات الأقلمة لتحديد ما إذا كان النص المترجَم متاحًا باللغة الإنجليزية الأبالاشية أم لا.
-
عند استرداد مورد، يمكنك تضمين
localizations
في قيمة المعلَمةpart
لاسترداد كل التفاصيل المترجَمة لهذا المورد. في حال استرداد البيانات المترجَمة للغة ليست لغة تطبيق YouTube الحالية، يجب استخدام هذا الأسلوب لاسترداد كل الترجمات ثم الفلترة لتحديد ما إذا كانت البيانات المترجَمة المطلوبة متوفّرة.
-
-
الأخطاء المتعلقة بقيم النصوص المترجَمة
تتيح واجهة برمجة التطبيقات أيضًا الأخطاء الجديدة التالية في القيم النصية المترجَمة:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
defaultLanguageNotSetError
يشير هذا الخطأ إلى تعذُّر تنفيذ طلب يحاول إدراج أو تعديل كائن localizations
لمورد بسبب عدم ضبط السمةsnippet.defaultLanguage
لهذا المورد. تتوافق الطرقchannels.update
وchannelSections.insert
وchannelSections.update
وplaylists.insert
وplaylists.update
وvideos.insert
وvideos.update
مع هذا الخطأ.badRequest (400)
localizationValidationError
يشير هذا الخطأ إلى تعذُّر التحقّق من صحة إحدى القيم في عنصر localizations
لمورد. على سبيل المثال، قد يحدث هذا الخطأ إذا كان العنصر يحتوي على رمز لغة غير صالح. تتوافق الطرقchannels.update
وchannelSections.insert
وchannelSections.update
وplaylists.insert
وplaylists.update
مع هذا الخطأ.
4 تشرين الثاني (نوفمبر) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تعديلات على الموارد والطرق الحالية
-
تم تعديل المَعلمة
order
لطريقةsearch.list
لملاحظة أنّه في حال ترتيب عمليات البث المباشر حسبviewCount
، سيتم ترتيب نتائج واجهة برمجة التطبيقات حسب عدد المشاهدين المتزامنين لعمليات البث بينما لا تزال عمليات البث مستمرة. -
تم تعديل المعلَمة
relatedToVideoId
لطريقةsearch.list
لملاحظة أنّه في حال ضبط المعلَمة، تكون المعلَمات الأخرى المتوافقة هيpart
وmaxResults
وpageToken
وregionCode
وrelevanceLanguage
وsafeSearch
وtype
(يجب ضبطها علىvideo
) وfields
. هذا التحديث ليس ناتجًا عن تغيير في سلوك واجهة برمجة التطبيقات. -
تم تعديل تعريف السمة
snippet.publishedAt
الخاصة بموردvideo
لملاحظة أنّ قيمة السمة التي تحدّد تاريخ نشر الفيديو ووقته قد تكون مختلفة عن وقت تحميل الفيديو. على سبيل المثال، إذا تم تحميل فيديو كفيديو خاص ثم أصبح علنيًا في وقت لاحق، تحدد قيمة السمة الوقت الذي تم فيه تغيير إعدادات الفيديو ليصبح علنيًا. ويوضّح التعريف المعدَّل أيضًا كيفية تعبئة القيمة للفيديوهات الخاصة وغير المُدرَجة.هذا التغيير ليس ناتجًا عن تغيير في سلوك واجهة برمجة التطبيقات.
-
تم تعديل تعريف السمة
status.publishAt
لموردvideo
لملاحظة ما يلي:- في حال ضبط قيمة هذه السمة عند استدعاء الطريقة
videos.update
، عليك أيضًا ضبط قيمة السمةstatus.privacyStatus
علىprivate
حتى إذا كان الفيديو خاصًا. - إذا كان الطلب يحدد موعدًا لنشر فيديو في وقت سابق، يتم نشره على الفور. وبالتالي، إنّ تأثير ضبط السمة
status.publishAt
على تاريخ ووقت سابقَين هو نفسه تأثير تغييرprivacyStatus
الخاص بالفيديو منprivate
إلىpublic
.
- في حال ضبط قيمة هذه السمة عند استدعاء الطريقة
-
تحدد السمة
contentDetails.contentRating.cncRating
في الموردvideo
تقييم الفيديو من حيث التصوير السينمائي من اللجنة الفرنسية للتصنيف السينمائي. تحلّ هذه السمة محلّ السمةcontentDetails.contentRating.fmocRating
التي تم إيقافها نهائيًا. -
تم تعديل تعريف brandingSettings.channel.keywords لمورد
channel
ليعكس بشكل صحيح أنّ قيمة السمة تحتوي على قائمة سلاسل مفصولة بمسافات وليس قائمة مفصولة بفواصل، كما هو موضّح سابقًا. هذا التحديث ليس ناتجًا عن تغيير في سلوك واجهة برمجة التطبيقات. -
تم تعديل المستندات المتعلّقة بطريقة
thumbnails.set
لتوضّح بدقة أنّ نص الطلب يحتوي على الصورة المصغّرة التي تحمّلها وترتبط بالفيديو. لا يحتوي نص الطلب على موردthumbnail
. في السابق، كانت المستندات تشير إلى أنّه يجب عدم تقديم نص الطلب عند استدعاء هذه الطريقة. هذا التحديث ليس ناتجًا عن تغيير في سلوك واجهة برمجة التطبيقات. -
تم تعديل وصف المورد
activity
للإشارة إلى أنّ طريقةactivities.list
لا تتضمّن حاليًا موارد ذات صلة بالتعليقات الجديدة على الفيديو. تم تعديلsnippet.type
وcontentDetails.comment
للمورد أيضًا.
-
-
الأخطاء الجديدة والمعدّلة
-
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
تفاصيل الخطأ activities.insert
رمز استجابة HTTP badRequest (400)
السبب invalidMetadata
الوصف لا تتطابق السمة kind
مع نوع مستند التعريف الذي تم تقديمه.commentThreads.update
comments.insert
comments.update
رمز استجابة HTTP badRequest (400)
السبب commentTextTooLong
الوصف يحتوي مورد comment
الذي يتم إدراجه أو تعديله على عدد كبير جدًا من الأحرف في السمةsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
رمز استجابة HTTP forbidden (403)
السبب playlistItemsNotAccessible
الوصف الطلب غير مسموح له بإدراج عنصر قائمة التشغيل المحدّد أو تحديثه أو حذفه بشكل صحيح. playlists.delete
playlists.insert
playlists.update
رمز استجابة HTTP badRequest (400)
السبب playlistForbidden
الوصف يحظر إجراء هذه العملية أو أن هذا الطلب غير مصرح به. search.list
رمز استجابة HTTP badRequest (400)
السبب invalidLocation
الوصف تم تنسيق قيمة المعلَمة location
و/أوlocationRadius
بشكلٍ غير صحيح.search.list
رمز استجابة HTTP badRequest (400)
السبب invalidRelevanceLanguage
الوصف تم تنسيق قيمة المعلَمة relevanceLanguage
بشكلٍ غير صحيح.subscriptions.insert
رمز استجابة HTTP badRequest (400)
السبب subscriptionForbidden
الوصف يحدث هذا الخطأ عندما ينطبق أي مما يلي: - الاشتراك الذي تحاول إنشاءه متوفّر حاليًا.
- لقد بلغت الحد الأقصى لعدد الاشتراكات.
- أنت تحاول الاشتراك في قناتك الخاصة، وهي غير متاحة.
- لقد أنشأت عددًا كبيرًا جدًا من الاشتراكات مؤخرًا وعليك الانتظار بضع ساعات قبل إعادة محاولة الطلب.
videos.update
رمز استجابة HTTP badRequest (400)
السبب invalidDefaultBroadcastPrivacySetting
الوصف يحاول الطلب ضبط إعداد خصوصية غير صالح للبث التلقائي.
-
28 آب (أغسطس) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تعديلات على الموارد والطرق الحالية
-
تم إيقاف الخاصية
statistics.favoriteCount
للموردvideo
نهائيًا.وفقًا لسياسة الإيقاف النهائي، سيستمر تضمين هذا الموقع في مراجع "
video
" لمدة عام واحد على الأقل بعد هذا الإعلان. ومع ذلك، يتم الآن ضبط قيمة السمة دائمًا على0
.
-
7 آب (أغسطس) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تعديلات على الموارد والطرق الحالية
-
تم تعديل تعريف السمة
snippet.tags[]
لموردvideo
لتوفير مزيد من المعلومات حول كيفية احتساب خادم واجهة برمجة التطبيقات لطول قيمة السمة. تجدر الإشارة إلى أنّ هذا التحديث لا يعكس تغييرًا في سلوك واجهة برمجة التطبيقات.على وجه التحديد، يوضِّح التعريف الآن أنّه إذا كانت العلامة تحتوي على مسافة، سيتعامل خادم واجهة برمجة التطبيقات مع قيمة العلامة كما لو كانت محاطة بعلامتَي اقتباس، ويتم احتساب علامات الاقتباس ضمن عدد الأحرف المسموح به. لذلك، لأغراض تحديد عدد الأحرف، تحتوي علامة Foo-Baz على سبعة أحرف، بينما تحتوي علامة Foo Baz على تسعة أحرف.
-
لم تعُد الطريقة
commentThreads.insert
تتيح استخدام المَعلمةshareOnGooglePlus
التي تشير سابقًا إلى ما إذا كان يجب أيضًا نشر تعليق وردود على هذا التعليق على الملف الشخصي للمؤلف في Google+. إذا أرسل أحد الطلبات المَعلمة، سيتجاهل خادم واجهة برمجة التطبيقات المَعلمة، ولكنّه يتعامل مع الطلب.
-
18 حزيران (يونيو) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تعديلات على الموارد والطرق الحالية
-
تحدّد معلَمة
order
الجديدة الخاصة بطريقةcommentThreads.list
الترتيب الذي يجب أن تدرج به استجابة واجهة برمجة التطبيقات سلاسل التعليقات. ويمكن ترتيب سلاسل المحادثات حسب الوقت أو مدى الصلة بموضوع البحث. السلوك الافتراضي هو ترتيبها حسب الوقت. -
تحدد السمة
snippet.defaultAudioLanguage
الجديدة في الموردvideo
اللغة المحكية في المقطع الصوتي التلقائي للفيديو. -
تم تعديل تعريف السمة
contentDetails.licensedContent
الخاصة بالموردvideo
لتوضيح أنّه يجب أن يكون المحتوى قد تم تحميله في الأصل إلى قناة مرتبطة بشريك محتوى على YouTube، ثم طالب هذا الشريك بملكية المحتوى. وهذا لا يمثّل تغييرًا في السلوك الفعلي لواجهة برمجة التطبيقات. -
تتيح طرق
captions.delete
وcaptions.download
وcaptions.insert
وcaptions.list
وcaptions.update
الآن استخدام المَعلمةonBehalfOfContentOwner
، وهي متوافقة حاليًا مع عدّة طرق أخرى. يجب أيضًا أن يتم تفويض الطلبات التي تستخدم هذه الطريقة باستخدام رمز مميّز يتيح الوصول إلى نطاقhttps://www.googleapis.com/auth/youtubepartner
.
-
-
الأخطاء الجديدة والمعدّلة
-
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
تفاصيل الخطأ videos.rate
رمز استجابة HTTP badRequest (400)
السبب emailNotVerified
الوصف يجب أن يثبت المستخدم ملكية عنوان بريده الإلكتروني قبل تقييم الفيديو. videos.rate
رمز استجابة HTTP badRequest (400)
السبب videoPurchaseRequired
الوصف لا يمكن تقييم الفيديوهات التي يتم تأجيرها سوى للمستخدمين الذين استأجروها. -
لم تعُد الطريقتان
subscriptions.delete
وsubscriptions.insert
متوافقة مع الخطأَينaccountClosed
وaccountSuspended
.
-
27 نيسان (أبريل) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
مَراجع وطرق جديدة
-
يحتوي المرجع الجديد
videoAbuseReportReason
على معلومات حول سبب الإبلاغ عن فيديو لأنّه يتضمّن محتوى مسيئًا. تتيح لك طريقةvideoAbuseReportReasons.list
استرداد قائمة بالأسباب التي قد تؤدي إلى الإبلاغ عن الفيديوهات. -
توفّر طريقة
videos.reportAbuse
الجديدة وسيلة للإبلاغ عن فيديو يتضمّن محتوًى مسيئًا. يحتوي نص الطلب على عنصر JSON يحدد الفيديو الذي سيتم الإبلاغ عنه وسبب اعتبار الفيديو أنّه يتضمّن محتوى مسيئًا. يمكن الحصول على الأسباب الوجيهة من خلال طريقةvideoAbuseReportReason.list
الموضّحة أعلاه.تم أيضًا تعديل دليل نقل البيانات من خلال إضافة مثال للإبلاغ عن فيديو مسيء. وبفضل هذا التغيير، أصبحت واجهة برمجة التطبيقات v3 API متوافقة الآن مع جميع ميزات الإصدار 2 من واجهة برمجة التطبيقات التي من المقرر أن تتيحها. ستتم أيضًا شرح جميع هذه الميزات في دليل نقل البيانات.
-
-
تعديلات على الموارد والطرق الحالية
-
تمنع مَعلمة الفلتر
forDeveloper
الجديدة في طريقةsearch.list
عملية البحث لاسترداد الفيديوهات التي تم تحميلها من خلال تطبيق المطوّر أو موقعه الإلكتروني فقط. يمكن استخدام المَعلمةforDeveloper
مع مَعلمات بحث اختيارية مثل المَعلمةq
.بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو يتم تحميله برقم المشروع المرتبط بتطبيق المطوّر في Google Developers Console.
عندما يضبط طلب بحث المعلَمة
forDeveloper
علىtrue
بعد ذلك، يستخدم خادم واجهة برمجة التطبيقات بيانات اعتماد التفويض الخاصة بالطلب لتحديد هوية مطوّر البرامج. لذلك، يمكن للمطوّر حصر النتائج بالفيديوهات التي تمّ تحميلها من خلال التطبيق الخاص بالمطوّر أو موقعه الإلكتروني وليس تلك التي تمّ تحميلها من خلال تطبيقات أو مواقع إلكترونية أخرى.تقدّم الميزة الجديدة وظائف مشابهة لوظائف علامات المطوّرين التي توفّرها واجهة برمجة التطبيقات v2 API، حتى لو لم تكن مطابقة لها.
-
إنّ السمة
snippet.country
الجديدة في الموردchannel
تتيح لمالكي القنوات ربط قنواتهم ببلد معيّن.ملاحظة: لضبط السمة
snippet.country
لموردchannel
، عليك تعديل الخاصيةbrandingSettings.channel.country
. -
تتيح واجهة برمجة التطبيقات الآن استهداف موارد
channelSection
. يوفّر استهداف أقسام القنوات طريقة لتقييد مستوى رؤية قسم من المحتوى على المستخدمين الذين يتطابقون مع معايير معيّنة.تعرض واجهة برمجة التطبيقات ثلاثة خيارات استهداف. يجب أن يستوفي المستخدم جميع إعدادات الاستهداف حتى يظهر قسم القناة.
-
targeting.languages[]
: قائمة بلغات تطبيقات YouTube ويمكن للمستخدمين الذين اختاروا إحدى هذه اللغات الاطّلاع على قسم القناة المناسب. -
targeting.regions[]
: قائمة بمناطق المحتوى المفضّل على YouTube يكون قسم القناة مرئيًا للمستخدمين الذين اختاروا إحدى هذه المناطق، بالإضافة إلى المستخدمين الذين تم اختيار إحدى هذه المناطق لهم تلقائيًا. -
targeting.countries[]
: قائمة بالبلدان التي يظهر فيها قسم القناة تمثِّل كل قيمة في القائمة رمز بلد وفقًا لمعيار ISO 3166-1 alpha-2.
-
-
تم تصحيح تعريف السمة
contentDetails.duration
في موردvideo
ليعكس أن القيمة يمكن أن تعكس الساعات والأيام وما إلى ذلك. -
تم تصحيح المستندات الخاصة بالطرق
channelSections.delete
وplaylistItems.delete
وplaylists.delete
وsubscriptions.delete
وvideos.delete
لتعكس أنّ هذه الطرق جميعًا تعرض رمز استجابة HTTP204
(No Content
) بعد نجاحها.
-
-
الأخطاء الجديدة والمعدّلة
-
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
targetInvalidCountry
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ إذا كان موردchannelSection
الذي تم إدراجه يحتوي على قيمة غير صالحة للسمةtargeting.countries[]
.badRequest (400)
targetInvalidLanguage
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ إذا كان موردchannelSection
الذي تم إدراجه يحتوي على قيمة غير صالحة للسمةtargeting.languages[]
.badRequest (400)
targetInvalidRegion
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ إذا كان موردchannelSection
الذي تم إدراجه يحتوي على قيمة غير صالحة للسمةtargeting.regions[]
.badRequest (400)
operationNotSupported
تعرض الطريقة comments.insert
هذا الخطأ إذا لم يتمكّن مستخدم واجهة برمجة التطبيقات من إدراج تعليق ردًا على تعليق ذي مستوى أعلى تحدّده السمةsnippet.parentId
. في موردcommentThread
، تشير السمةsnippet.canReply
إلى ما إذا كان بإمكان المشاهد الحالي الرد على سلسلة المحادثات.badRequest (400)
invalidChannelId
تعرض الطريقة search.list
هذا الخطأ إذا حدّدت المَعلمةchannelId
في الطلب معرّف قناة غير صالح.badRequest (400)
subscriptionForbidden
تعرض الطريقة subscriptions.insert
هذا الخطأ إذا حاول مستخدم واجهة برمجة التطبيقات الاشتراك في قناة المستخدم الخاصة. -
لم تعُد الطريقة
captions.update
تتيح الخطأينinvalidMetadata
وvideoNotFound
.
-
16 نيسان (أبريل) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل دليل نقل البيانات لشرح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة التعليقات من واجهة برمجة التطبيقات v2 API.
يوضّح الدليل أيضًا العديد من ميزات التعليق التي لم تتوافق مع v2 API ولكنّها متاحة في v3 API. وتشمل هذه المعلومات ما يلي:
- استرداد التعليقات المتعلقة بقناة
- استرداد جميع سلاسل التعليقات المرتبطة بقناة معيّنة، ما يعني أنّ استجابة واجهة برمجة التطبيقات يمكن أن تحتوي على تعليقات حول القناة أو أي من فيديوهاتها.
- تحديث نص التعليق
- وضع علامة "غير مرغوب فيه" على تعليق
- ضبط حالة الإشراف على تعليق
-
تم تعديل دليل الاشتراك في الإشعارات الفورية ليظهر أنّه يتم إرسال الإشعارات إلى مركز PubSubHubBub من Google فقط وليس إلى مركز Superfeedr أيضًا.
9 نيسان (أبريل) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح لك موارد
commentThread
وcomment
الجديدة في واجهة برمجة التطبيقات إمكانية استرداد التعليقات وإدراجها وتعديلها وحذفها والإشراف عليها.-
يحتوي مورد
commentThread
على معلومات حول سلسلة التعليقات في YouTube التي تتألف من تعليق وردود من المستوى الأعلى، إن توفّرت، على ذلك التعليق. يمكن أن يمثّل موردcommentThread
التعليقات المتعلّقة بفيديو أو قناة معيّنة.التعليق ذو المستوى الأعلى والردود هما في الواقع موارد
comment
مدمجة داخل موردcommentThread
. من المهم ملاحظة أنّ الموردcommentThread
لا يحتوي بالضرورة على كل الردود على تعليق معيّن، وعليك استخدام الطريقةcomments.list
لاسترداد كل الردود الخاصة بتعليق معيّن. بالإضافة إلى ذلك، لا يمكن الردّ على بعض التعليقات.تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد
commentThread
:commentThreads.list
– استرداد قائمة بسلاسل التعليقات استخدِم هذه الطريقة لاسترداد التعليقات المرتبطة بفيديو معيّن أو قناة معيّنة.commentThreads.insert
– يمكنك إنشاء تعليق جديد ذي مستوى أعلى. (يمكنك استخدام طريقةcomments.insert
للرد على تعليق حالي.)commentThreads.update
– تعديل تعليق من المستوى الأعلى
-
يحتوي مورد
comment
على معلومات حول تعليق واحد على YouTube. يمكن أن يمثّل موردcomment
تعليقًا حول فيديو أو قناة. بالإضافة إلى ذلك، يمكن أن يكون التعليق تعليقًا من مستوى أعلى أو ردًا على تعليق من المستوى الأعلى.تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد
comment
:comments.list
– استرداد قائمة التعليقات. استخدم هذه الطريقة لاسترداد كل الردود على تعليق معين.comments.insert
– إنشاء رد على تعليق حاليcomments.update
– تعديل تعليقcomments.markAsSpam
– الإبلاغ عن تعليق واحد أو أكثر كمحتوى غير مرغوب فيهcomments.setModerationStatus
– يمكنك ضبط حالة الإشراف لتعليق واحد أو أكثر. على سبيل المثال، يمكنك محو تعليق لعرضه بشكل علني أو رفض التعليق باعتباره غير ملائم للعرض. يجب أن يكون طلب البيانات من واجهة برمجة التطبيقات معتمَدًا من مالك القناة أو الفيديو المرتبط بالتعليقات.comments.delete
– حذف تعليق
تجدر الإشارة إلى أنّ نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات، الموضح في سجلّ النُسخ السابقة بتاريخ 2 نيسان (أبريل) 2015، مطلوب لعمليات الاتصال بطرقcomments.insert
وcomments.update
وcomments.markAsSpam
وcomments.setModerationStatus
وcomments.delete
وcommentThreads.insert
وcommentThreads.update
. -
-
يوضّح دليل الاشتراك في الإشعارات الفورية الجديد دعم واجهة برمجة التطبيقات للإشعارات الفورية عبر PubSubHubBub، وهو بروتوكول للنشر/الاشتراك من خادم إلى خادم للموارد التي يمكن الوصول إليها على الويب. يمكن لخادم معاودة الاتصال في PubSubHubBub تلقّي إشعارات بشأن خلاصة Atom عندما تنفّذ القناة أيًا من الأنشطة التالية:
- يحمّل فيديو
- تعدّل عنوان فيديو.
- لتعديل وصف الفيديو
-
تم أيضًا تعديل دليل نقل البيانات لتسليط الضوء على التوافق الجديد مع الإشعارات الفورية. ومع ذلك، بما أنّ واجهة برمجة التطبيقات v2 API كانت متوافقة مع العديد من الأنواع الأخرى من الإشعارات الفورية غير المتوافقة مع v3 API، لا يزال الإشارة إلى دعم PubSubHubBub مُدرجًا في القسم متوقّف نهائيًا من ذلك الدليل.
-
أصبح نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات الآن نطاقًا صالحًا لأي طريقة من طرق واجهة برمجة التطبيقات التي كانت تتوافق في السابق مع نطاقhttps://www.googleapis.com/auth/youtube
. -
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
invalidRating
تعرض الطريقة videos.rate
هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقعة للمَعلمةrating
. -
لم تعُد طريقة
subscriptions.insert
تتيح الخطأsubscriptionLimitExceeded
الذي يشير سابقًا إلى أنّ المشترك المحدّد في الطلب قد تجاوز الحدّ الأقصى لمعدّل الاشتراك.
2 نيسان (أبريل) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
يمثل المورد الجديد
captions
مسار ترجمة وشرح على YouTube. يرتبط مسار الترجمة بفيديو واحد فقط على YouTube.تتيح واجهة برمجة التطبيقات طرقًا لإدراج مسارات الترجمة والشرح وإدراجها وتحديثها وتنزيلها وحذفها.
-
تم أيضًا تعديل دليل نقل البيانات لتوضيح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة الترجمة والشرح في واجهة برمجة التطبيقات v2 API.
-
يتطلب نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات الاتصال بخادم واجهة برمجة التطبيقات عبر اتصال طبقة المقابس الآمنة.يمنح هذا النطاق الجديد إمكانية الوصول نفسها كنطاق
https://www.googleapis.com/auth/youtube
. في الواقع، هذان النطاقان متطابقان من حيث الوظيفة لأنّ خادم واجهة برمجة تطبيقات YouTube لا يتوفّر إلّا من خلال نقطة نهاية HTTPS. نتيجةً لذلك، على الرغم من أنّ نطاقhttps://www.googleapis.com/auth/youtube
لا يتطلب اتصال طبقة المقابس الآمنة (SSL)، لا توجد طريقة أخرى لتقديم طلب من واجهة برمجة التطبيقات.يكون النطاق الجديد مطلوبًا لعمليات الطلبات الموجّهة إلى جميع طرق مورد
caption
.
11 آذار (مارس) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
يحتوي دليل نقل بيانات YouTube Data API (الإصدار 3) على علامة تبويب جديدة تُعرف باسم الجديدة في الإصدار v3 API تعرض قائمة بالميزات المتوفّرة في الإصدار v3 API والتي لا تتيحها واجهة برمجة التطبيقات v2 API. كانت الميزات نفسها متوفّرة في السابق ولا تزال مُدرَجة في علامات تبويب أخرى في الدليل. على سبيل المثال، يتم أيضًا إدراج الميزة الجديدة التي تشرح كيفية تحديث بيانات الحملة الترويجية ضمن الفيديو للقناة ضمن علامة التبويب القنوات (الملفات الشخصية).
-
تم تعديل دليل نقل بيانات YouTube Data API (الإصدار v3) ليشير إلى أنّ واجهة برمجة التطبيقات v3 API ستوفّر الميزة التالية من واجهة برمجة التطبيقات v2 API:
-
لقد عدّلنا دليل نقل بيانات الإصدار 3 من واجهة برمجة التطبيقات YouTube Data API لملاحظة أنّ ميزات الإصدار 2 التالية من واجهة برمجة التطبيقات لن تكون متاحة في الإصدار الثالث:
-
استرداد الفيديوهات المقترحة – لا تسترد واجهة برمجة التطبيقات v3 قائمة تتضمّن فقط فيديوهات مقترَحة لمستخدم واجهة برمجة التطبيقات الحالي. مع ذلك، يمكنك استخدام v3 API للعثور على الفيديوهات المقترَحة من خلال استدعاء طريقة
activities.list
وضبط قيمة المعلَمةhome
علىtrue
.في استجابة واجهة برمجة التطبيقات، يتوافق المرجع مع فيديو مقترَح إذا كانت قيمة السمة
snippet.type
هيrecommendation
. في هذه الحالة، ستتضمّن السمتانcontentDetails.recommendation.reason
وcontentDetails.recommendation.seedResourceId
معلومات حول سبب اقتراح الفيديو. يُرجى العِلم أنّه ما مِن ضمان بأنّ الرد سيتضمّن أي عدد معيّن من الفيديوهات المقترَحة. -
استرداد الفيديوهات الجديدة المتوفّرة باشتراك: لا تسترد واجهة برمجة التطبيقات v3 قائمة تتضمّن فقط الفيديوهات التي تمّ تحميلها مؤخرًا إلى القنوات التي اشترك فيها مستخدم واجهة برمجة التطبيقات. مع ذلك، يمكنك استخدام v3 API للعثور على فيديوهات جديدة متوفرة من خلال اشتراك من خلال استدعاء طريقة
activities.list
وضبط قيمة المعلَمةhome
علىtrue
.في استجابة واجهة برمجة التطبيقات، يتوافق المرجع مع فيديو جديد تم الاشتراك فيه إذا كانت قيمة السمة
snippet.type
هيupload
. يُرجى العِلم أنّه ما مِن ضمان بأنّ الرد سيتضمّن أي عدد معيّن من الفيديوهات الجديدة المتوفّرة في الاشتراكات. -
الإشعارات الفورية لتحديثات الخلاصة: واجهة برمجة التطبيقات v2 API تتيح الإشعارات الفورية، وذلك باستخدام بروتوكول التحديث البسيط (SUP) أو PubSubHubbub لمراقبة خلاصات نشاط المستخدمين على YouTube. تم تقديم إشعارات للاشتراكات الجديدة في القنوات وعند تقييم الفيديوهات أو مشاركتها أو وضع علامة عليها كمفضّلة أو التعليق عليها أو تحميلها.
ستتوافق واجهة برمجة التطبيقات v3 API مع الإشعارات الفورية باستخدام بروتوكول PubSubHubbub، ولكن لن تشمل الإشعارات سوى تحميل الفيديوهات والتحديثات على عناوين الفيديوهات أو أوصافها.
-
موقع القناة – استخدمت واجهة برمجة التطبيقات v2 API العلامة
<yt:location>
لتحديد موقع المستخدم الجغرافي كما تم إدخاله في الملف الشخصي العلني للقناة على YouTube. ورغم أنّ بعض المطوّرين استخدموا هذا الحقل لربط قناة ببلد معيّن، تعذّر استخدام بيانات هذا الحقل باستمرار لهذا الغرض. -
إعداد علامات المطوِّرين أو استردادها: تتيح واجهة برمجة التطبيقات v2 API إمكانية ربط الكلمات الرئيسية أو علامات المطوِّرين بفيديو معيّن أثناء تحميل الفيديو. لن تظهر علامات المطوِّرين لمستخدمي YouTube، ولكن يمكن لمالكي الفيديوهات استرداد الفيديوهات التي تطابقت مع علامة مطوِّر محدّدة.
وستوفّر واجهة برمجة التطبيقات v3 API ميزة مشابهة ولكن ليست متطابقة. وعلى وجه التحديد، سيتمكن المطوّر من البحث عن الفيديوهات التي حمّلها التطبيق الخاصّ بمطوِّر التطبيق. بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو يتم تحميله برقم المشروع المرتبط بتطبيق المطوّر في Google Developers Console. ويستخدم مطوّر البرامج بعد ذلك رقم المشروع نفسه للبحث عن الفيديوهات.
-
إدراج الفيديوهات حسب تاريخ النشر أو عدد المشاهدات أو التقييم: في الإصدار 2 من واجهة برمجة التطبيقات، تتيح لك المَعلمة
orderby
ترتيب الفيديوهات في قائمة تشغيل حسب الموضع والمدة وتاريخ النشر والعنوان والعديد من القيم الأخرى. في الإصدار 3 من واجهة برمجة التطبيقات، يتم عادةً ترتيب عناصر قائمة التشغيل حسب الموضع تصاعديًا ولا تكون خيارات الترتيب الأخرى متاحة.هناك بعض الاستثناءات. تتم تلقائيًا إضافة عنصر تحميل جديد أو فيديو مفضل أو فيديو أعجبك أو فيديو تمت مشاهدته مؤخرًا كأول عنصر (
snippet.position
=0
) لأنواع قوائم التشغيل التالية. لذلك، يتم ترتيب كل قائمة من هذه القوائم بشكل فعال بالترتيب من الأحدث إلى الأقدم بناءً على أوقات إضافة العناصر إلى القائمة.- تحميلات المستخدمين
- الفيديوهات المفضّلة
- مقاطع فيديو أعجبتك
- سجلّ المشاهدة
تجدر الإشارة إلى أنّ العنصر الجديد الذي تتم إضافته إلى قائمة التشغيل "المشاهدة لاحقًا" تتم إضافته كآخر عنصر في تلك القائمة، وبالتالي يتم ترتيب هذه القائمة من العنصر الأقدم إلى الأحدث.
-
المعالجة المجمّعة: تتيح واجهة برمجة التطبيقات v3 API إحدى حالات استخدام المعالجة المجمّعة التي كانت متوافقة مع واجهة برمجة التطبيقات v2. تتيح الطرق
channels.list
وchannelSections.list
وguideCategories.list
وplaylistItems.list
وplaylists.list
وsubscriptions.list
وvideoCategories.list
وvideos.list
في الإصدار 3 من واجهة برمجة التطبيقات استخدام مَعلمةid
التي يمكن استخدامها لتحديد قائمة معرّفات مفصولة بفواصل (معرّفات الفيديوهات ومعرّفات القنوات وما إلى ذلك). باستخدام هذه الطرق، يمكنك استرداد قائمة من موارد متعددة بطلب واحد.
بعد إجراء هذه التغييرات، يحدّد الدليل الآن جميع الوظائف التي كانت متوفّرة في واجهة برمجة التطبيقات القديمة (v2) التي سيتم إيقافها نهائيًا في الإصدار الحالي من واجهة برمجة التطبيقات (الإصدار v3).
-
4 آذار (مارس) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح الطريقتان
channelSections.delete
وchannelSections.update
الآن المَعلمةonBehalfOfContentOwner
، وهي متاحة حاليًا لعدة طرق أخرى. -
تم إيقاف السمات التالية ومواقعها الفرعية نهائيًا:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
ملاحظة: لم يخضع أيّ من هذه المواقع لسياسة إيقاف واجهة برمجة التطبيقات.
-
تحدّد السمة
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
الجديدة في الموردvideo
الأسباب التي تؤدي إلى حصول الفيديو على تقييم DJCQT (البرازيل). -
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف notFound (404)
channelNotFound
تعرض الطريقة channels.update
هذا الخطأ إذا كانت المَعلمةid
للطلب تحدد قناة يتعذّر العثور عليها.badRequest (400)
manualSortRequiredinvalidValue
تعرض الطريقتان playlistItems.insert
وplaylistItems.update
هذا الخطأ إذا حاول الطلب ضبط موضع عنصر قائمة التشغيل، إلا أنّ قائمة التشغيل لا تستخدم الترتيب اليدوي. على سبيل المثال، يمكن ترتيب عناصر قوائم التشغيل حسب التاريخ أو مدى الرواج. يمكنك معالجة هذا الخطأ عن طريق إزالة العنصرsnippet.position
من المورد المُرسَل في نص الطلب. إذا أردت تحديد موضع معيّن لعنصر قائمة التشغيل في القائمة، عليك أولاً تغيير إعدادات الترتيب في قائمة التشغيل إلى يدوي. يمكنك تعديل هذا الإعداد في مدير الفيديو في YouTube.forbidden (403)
channelClosed
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المعلمةchannelId
للطلب تحدد قناة تم إغلاقها.forbidden (403)
channelSuspended
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المعلمةchannelId
للطلب تحدد قناة تم تعليقها.forbidden (403)
playlistForbidden
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المعلمةid
للطلب لا تدعم الطلب أو إذا لم يكن الطلب مفوَّضًا بشكل صحيح.notFound (404)
channelNotFound
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المَعلمةchannelId
للطلب تحدد قناة يتعذّر العثور عليها.notFound (404)
playlistNotFound
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المَعلمةid
للطلب تحدد قائمة تشغيل يتعذّر العثور عليها.notFound (404)
videoNotFound
تعرض الطريقة videos.list
هذا الخطأ إذا كانت المعلَمةid
في الطلب تحدد فيديو يتعذّر العثور عليه.badRequest (400)
invalidRating
تعرض الطريقة videos.rate
هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقعة للمَعلمةrating
.
2 آذار (مارس) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح الطريقة
search.list
الآن المعلَمةrelevanceLanguage
التي تتيح لك طلب النتائج الأكثر صلة بلغة معيّنة.تم أيضًا تعديل دليل نقل بيانات YouTube Data API (الإصدار 3) لشرح كيفية استخدام هذه المَعلمة الجديدة. وتعالج المعلمة فجوة في الميزات كانت موجودة في السابق بين الإصدار الحالي من واجهة برمجة التطبيقات (الإصدار 3) والإصدار السابق (الإصدار 2)، والذي سبق أن تم إيقافه.
-
تمّ أيضًا تعديل دليل نقل بيانات YouTube Data API (الإصدار الثالث) للإشارة إلى إيقاف الخلاصات الخاصة وحقول البيانات الوصفية التي توفّرها واجهة برمجة التطبيقات v2 API لوصف الأفلام والمقاطع الدعائية والبرامج التلفزيونية والمواسم التلفزيونية والحلقات التلفزيونية.
14 كانون الثاني (يناير) 2015
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل دليل نقل بيانات YouTube Data API (الإصدار v3) لشرح كيفية استخدام واجهة برمجة التطبيقات v3 API لتحميل الفيديوهات باستخدام JavaScript. (راجِع القسم تحميل فيديو للحصول على التفاصيل.) هذه الوظيفة مشابهة لوظيفة التحميل المستند إلى المتصفّح التي تتيحها واجهة برمجة التطبيقات v2 API. تجدر الإشارة إلى أنّ هذا التغيير في دليل نقل البيانات لا يعكس تغييرًا فعليًا في واجهة برمجة التطبيقات، بل يعكس مدى توفّر رمز نموذجي جديد لتحميل الفيديوهات باستخدام JavaScript من جهة العميل.
نظرًا إلى إتاحة تحميل الفيديوهات باستخدام مكتبة برامج JavaScript وCORS، لم يعُد دليل نقل البيانات يدرج التحميل المستند إلى المتصفّح كميزة يمكن أن يتم إيقافها نهائيًا في الإصدار v3 من واجهة برمجة التطبيقات.
-
تم تعديل المواد الخاصة بطريقة
videos.insert
لتتضمن نموذج رمز JavaScript الجديد الموضح أعلاه. تم أيضًا تعديل قائمة عيّنات رموز JavaScript لـ YouTube Data API (الإصدار 3).
11 تشرين الثاني (نوفمبر) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تم تغيير تكلفة الحصة للمكالمة إلى طريقة
search.list
إلى 100 وحدة.ملاحظة مُهمة: في العديد من الحالات، يمكنك استخدام طرق أخرى من واجهة برمجة التطبيقات لاسترداد المعلومات بتكلفة حصة أقل. على سبيل المثال، استخدم الطريقتين التاليتين للعثور على الفيديوهات التي تم تحميلها إلى قناة GoogleDevelopers.
-
تكلفة الحصة: 100 وحدة
عليك استدعاء طريقة
search.list
والبحث عنGoogleDevelopers
. -
تكلفة الحصة: 6 وحدات
عليك استدعاء الطريقة
channels.list
للعثور على معرّف القناة الصحيح. ضبط المعلَمةforUsername
علىGoogleDevelopers
والمَعلمةpart
علىcontentDetails
في استجابة واجهة برمجة التطبيقات، تحدّد السمةcontentDetails.relatedPlaylists.uploads
رقم تعريف قائمة التشغيل للفيديوهات المحمّلة على القناة.بعد ذلك، عليك استدعاء الإجراء
playlistItems.list
وضبط المعلَمةplaylistId
على رقم التعريف الذي تم التقاطه والمَعلمةpart
علىsnippet
.
-
8 تشرين الأول (أكتوبر) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
يحتوي مورد
channel
على خاصيتين جديدتين:-
تشير السمة
status.longUploadsStatus
إلى ما إذا كانت القناة مؤهّلة لتحميل فيديوهات تزيد مدّتها عن 15 دقيقة. لا يتمّ عرض هذه السمة إلّا إذا سمح مالك القناة بتقديم طلب البيانات من واجهة برمجة التطبيقات. في ما يلي قيم السمات الصالحة:allowed
– يمكن للقناة تحميل فيديوهات تزيد مدتها عن 15 دقيقة.eligible
– أن تكون القناة مؤهّلة لتحميل فيديوهات تزيد مدتها عن 15 دقيقة، ولكن يجب تفعيل هذه الميزة أولاً.disallowed
– القناة ليست قادرة على تحميل فيديوهات تزيد مدتها عن 15 دقيقة أو تكون غير مؤهّلة لذلك.
اطّلِع على تعريف السمة للحصول على مزيد من المعلومات عن هذه القيم. يقدّم مركز مساعدة YouTube أيضًا معلومات أكثر تفصيلاً حول هذه الميزة.
-
تشير السمة
invideoPromotion.useSmartTiming
إلى ما إذا كانت الحملة الترويجية للقناة تستخدم "التوقيت الذكي". تحاول هذه الميزة عرض الإعلانات الترويجية في مرحلة معيّنة من الفيديو يكون فيها احتمال النقر عليها أكبر وأقلّ احتمالاً أن تؤثّر سلبًا في تجربة المشاهدة. تختار هذه الميزة أيضًا إعلانًا ترويجيًا واحدًا لعرضه على كل فيديو.
-
-
تم تعديل تعريفات السمتَين
snippet.title
وsnippet.categoryId
لموردvideo
لتوضيح طريقة تعامل واجهة برمجة التطبيقات مع طلبات البيانات إلى طريقةvideos.update
. إذا استدعيت هذه الطريقة لتعديل الجزءsnippet
من موردvideo
، عليك ضبط قيمة لكلتا السمتَين.إذا حاولت تعديل الجزء
snippet
من موردvideo
ولم تضبط قيمة لكلتا السمتَين، ستعرض واجهة برمجة التطبيقات خطأinvalidRequest
. تم أيضًا تعديل وصف هذا الخطأ. -
الخاصية
contentDetails.contentRating.oflcRating
للموردvideo
، والتي تحدد تقييم الفيديو من مكتب تصنيف الأفلام والأدب في نيوزيلندا، تدعم الآن تقييمين جديدين:oflcRp13
وoflcRp16
. ويتوافق هذان مع التقييمينRP13
وRP16
على التوالي. -
توفِّر الطريقة
channelBanners.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
bannerAlbumFull
يحتوي ألبوم "صورة قناة YouTube" الخاص بمالك القناة على عدد كبير جدًا من الصور. على مالك القناة الانتقال إلى http://photos.google.com والانتقال إلى صفحة الألبومات وإزالة بعض الصور من هذا الألبوم.
12 أيلول (سبتمبر) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تم تغيير تكلفة الحصة لإجراء مكالمة إلى طريقة
search.list
من وحدة واحدة إلى وحدتَين بالإضافة إلى تكلفة أجزاء الموارد المحدّدة.
13 أغسطس 2014
يتضمّن هذا التعديل التغييرات التالية:
-
توفِّر الطريقة
subscriptions.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
subscriptionLimitExceeded
تجاوز المشترك المحدّد في الطلب الحدّ الأقصى لمعدّل الاشتراك. ويمكنك محاولة جذب المزيد من الاشتراكات بعد بضع ساعات.
12 آب (أغسطس) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
يوضّح الدليل الجديد بعنوان نقل بيانات تطبيقك إلى YouTube Data API (الإصدار 3) كيفية استخدام YouTube Data API (الإصدار 3) لتنفيذ الوظائف المتوفّرة في الإصدار 2 من YouTube Data API. تم إيقاف واجهة برمجة التطبيقات القديمة رسميًا اعتبارًا من 4 مارس 2014. يهدف هذا الدليل إلى مساعدتك في نقل التطبيقات التي ما زالت تستخدم الإصدار 2 من واجهة برمجة التطبيقات إلى أحدث إصدار من واجهة برمجة التطبيقات.
8 يوليو 2014
يتضمّن هذا التعديل التغييرات التالية:
-
توفِّر الطريقة
playlists.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
maxPlaylistExceeded
يحدث هذا الخطأ إذا تعذّر إنشاء قائمة تشغيل بسبب بلوغ القناة الحد الأقصى لعدد قوائم التشغيل المسموح بها.
18 حزيران (يونيو) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل وصف كل طريقة من طرق واجهة برمجة التطبيقات بحيث يشمل تكلفة الحصة المستحقة من الاتصال بتلك الطريقة. وبالمثل، تم تعديل تعريفات مَعلمات
part
لتحديد تكلفة الحصة لكل جزء يمكن استرداده في طلب بيانات من واجهة برمجة التطبيقات. على سبيل المثال، إنّ تكلفة حصة الطلب إلى طريقةsubscriptions.insert
هي 50 وحدة تقريبًا. يحتوي موردsubscription
أيضًا على ثلاثة أجزاء (snippet
وcontentDetails
وsubscriberSnippet
)، وتبلغ تكلفة كل جزء منها وحدتين.تجدر الإشارة إلى أنّ تكاليف الحصص يمكن أن تتغيّر بدون تحذير.
-
أصبح مورد "
video
" متوافقًا الآن مع 43 نظامًا جديدًا للتقييم حسب الفئة العمرية، والتي تحدد التقييمات التي تلقّتها الفيديوهات من مختلف وكالات التقييم الوطنية. <br class="url-false-class-=1-class="1- أحد .<br class="br/مَعلمة على تصنيف
28 أيار (مايو) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تتوافق الطريقة
search.list
الآن مع المَعلمتَينlocation
وlocationRadius
اللتَين تتيحان لك البحث عن فيديوهات مرتبطة بموقع جغرافي. يجب أن يحدد الطلب قيمة لكلتا المعلمتين لاسترداد النتائج استنادًا إلى الموقع، وتعرض واجهة برمجة التطبيقات خطأ إذا كان الطلب يتضمن إحدى المعلمتين فقط.-
تحدد المعلمة
location
إحداثيات خط العرض/خط الطول في وسط المنطقة الجغرافية الدائرية. -
تحدّد المعلَمة
locationRadius
الحدّ الأقصى للمسافة التي يمكن أن يبعُدها الموقع الجغرافي المرتبط بالفيديو عن وسط المنطقة لكي يبقى الفيديو مضمَّنًا في نتائج البحث.
-
13 أيار (مايو) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل السمة
invideoPromotion.items[]
في موردchannel
للإشارة إلى أنّه يمكنك عادةً ضبط عنصر واحد فقط تم الترويج له لقناتك. إذا حاولت إدراج عدد كبير جدًا من العناصر التي تم الترويج لها، ستعرض واجهة برمجة التطبيقات خطأtooManyPromotedItems
الذي يتضمّن رمز حالة HTTP400
. -
يمكن أن يحتوي المورد
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
ليشير إلى أنّ واجهة برمجة التطبيقات تعرض رمز استجابة HTTP204
للطلبات الناجحة مع هاتين الطريقتَين.
2 أيار (مايو) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
يحدّد مورد
i18nLanguage
الجديد لغة التطبيق المتوافقة مع موقع YouTube الإلكتروني. يمكن أيضًا الإشارة إلى لغة التطبيق باسم لغة واجهة المستخدم. بالنسبة إلى موقع YouTube الإلكتروني، يمكن اختيار لغة التطبيق تلقائيًا استنادًا إلى إعدادات حساب Google أو لغة المتصفّح أو الموقع الجغرافي لعنوان IP، كما يمكن للمستخدم أيضًا اختيار لغة واجهة المستخدم المطلوبة من تذييل موقع YouTube الإلكتروني.تتيح واجهة برمجة التطبيقات طريقة لإدراج لغات التطبيقات المتوافقة. يمكن استخدام اللغات المتوافقة كقيمة للمَعلمة
hl
عند طلب بيانات من واجهة برمجة تطبيقات، مثلvideoCategories.list
وguideCategories.list
. -
يحدّد المورد الجديد
i18nRegion
منطقة جغرافية يمكن لمستخدم YouTube اختيارها كمنطقة المحتوى المفضّلة. ويمكن الإشارة إلى منطقة المحتوى أيضًا على أنّها لغة محتوى. بالنسبة إلى موقع YouTube الإلكتروني، يمكن اختيار منطقة المحتوى تلقائيًا استنادًا إلى إشارات مثل نطاق YouTube أو موقع بروتوكول الإنترنت (IP) للمستخدم، كما يمكن للمستخدم أيضًا اختيار منطقة المحتوى المطلوبة من تذييل موقع YouTube الإلكتروني.تتيح واجهة برمجة التطبيقات استخدام طريقة لإدراج مناطق المحتوى المتوافقة. يمكن استخدام رموز المناطق المتوافقة كقيمة للمَعلمة
regionCode
عند استدعاء طُرق واجهة برمجة التطبيقات، مثلsearch.list
وvideos.list
وactivities.list
وvideoCategories.list
.
7 نيسان (أبريل) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
يتضمن مورد
channelSection
الجديد معلومات حول مجموعة الفيديوهات التي اختارت القناة إبرازها. على سبيل المثال، يمكن أن يعرض القسم أحدث الفيديوهات المحمّلة إلى القناة أو الفيديوهات الأكثر رواجًا أو الفيديوهات من قائمة تشغيل واحدة أو أكثر.تتيح واجهة برمجة التطبيقات استخدام طرق من أجل إدراج أقسام القناة أو إدراجها أو تعديلها أو حذفها. يمكنك استرداد قائمة بأقسام القناة لقناة المستخدم الذي تمت المصادقة عليه، من خلال تحديد معرّف قناة معيّن أو من خلال تحديد قائمة بمعرّفات أقسام القنوات الفريدة.
تم أيضًا تعديل مستندات الخطأ لوصف رسائل الخطأ التي تتيحها واجهة برمجة التطبيقات تحديدًا لهذه الطرق الجديدة.
-
تم تعديل تعريف الكائن
fileDetails
في الموردvideo
للتوضيح أنّه لن يتم عرض هذا الكائن إلا إذا كانت قيمة السمةprocessingDetails.fileDetailsAvailability
الخاصة بالفيديو تبلغavailable
.وبالمثل، تم تعديل تعريف الكائن
suggestions
في الموردvideo
لتوضيح أنّه لن يتم عرض هذا الكائن إلا إذا كانت قيمة السمةprocessingDetails.tagSuggestionsAvailability
في الفيديو أو السمةprocessingDetails.editorSuggestionsAvailability
الخاصة به تبلغ قيمةavailable
. -
تم تعديل المستندات الخاصة بالطريقتَين
videos.insert
وvideos.update
للإشارة إلى أنّه يمكن ضبط السمةstatus.publishAt
عند استدعاء هاتين الطريقتَين. -
تم تعديل تعريف الكائن
invideoPromotion
في موردchannel
للتوضيح أنّه لا يمكن استرداد العنصر إلا من قِبل مالك القناة. -
تم تعديل قائمة المعلمات لطريقة
videos.rate
لتشير أن هذه الطريقة لا تتوافق فعليًا مع المعلمةonBehalfOfContentOwner
. كان هذا خطأ في المستندات لأنّ طلباتvideos.rate
التي تم فيها ضبط هذه المعلَمة تعرض الخطأ500
.
31 آذار (مارس) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح لك السمة
status.publishAt
الجديدة في الموردvideo
تحديد التاريخ والوقت اللذين تمت جدولة نشر فيديو خاص فيهما. لا يمكن ضبط هذه السمة إلا إذا كانت حالة خصوصية الفيديو هيprivate
ولم يتم نشر الفيديو مطلقًا. لا يخضع هذا الموقع الجديد لسياسة الإيقاف النهائي.
13 آذار (مارس) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح واجهة برمجة التطبيقات الآن استخدام الجزء
contentOwnerDetails
لمواردchannel
. ويحتوي الجزء الجديد على بيانات القناة ذات الصلة بشركاء YouTube المرتبطين بالقناة، بما في ذلك معرّف مالك المحتوى المرتبط بالقناة وتاريخ ووقت ربط حساب مالك المحتوى بالقناة. يُرجى العلم أنّ هذا الجزء الجديد لا يخضع لسياسة الإيقاف النهائي. -
يعرض المستندات الآن الحدّ الأقصى لعدد الأحرف المسموح به في السمات التالية:
المورد الموقع الحدّ الأقصى للطول channel
invideoPromotion.items[].customMessage
40 حرفًا video
snippet.title
100 حرف video
snippet.description
5000 بايت video
snippet.tags
500 حرف. تجدر الإشارة إلى أنّ قيمة السمة هي قائمة وأنّ الفواصل بين العناصر في القائمة يتم احتسابها ضمن الحدّ الأقصى. -
تم إيقاف الخاصية
brandingSettings.watch.featuredPlaylistId
للموردchannel
نهائيًا. ستعرض واجهة برمجة التطبيقات خطأً إذا حاولت ضبط قيمتها. -
تمت إضافة خصائص مورد
video
التالية إلى قائمة القيم التي يمكن ضبطها عند إدراج فيديو أو تحديثه: -
تحدد مستندات الخطأ الآن رمز استجابة HTTP لكل نوع خطأ.
-
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
invalidCriteria
تعرض الطريقة channels.list
هذا الخطأ إذا كان الطلب يحدِّد مَعلمات الفلترة التي لا يمكن استخدامها مع بعضها البعض.badRequest (400)
channelTitleUpdateForbidden
تعرض الطريقة channels.update
هذا الخطأ إذا حاولت تعديل جزءbrandingSettings
في القناة وتغيير قيمة السمةbrandingSettings.channel.title
. (ملاحظة: لا تعرض واجهة برمجة التطبيقات الخطأ إذا حذفت الموقع).badRequest (400)
invalidRecentlyUploadedBy
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.recentlyUploadedBy
تحدّد معرّف قناة غير صالح.badRequest (400)
invalidTimingOffset
تعرض الطريقة channels.update
هذا الخطأ إذا حدّد الجزءinvideoPromotion
معادلة توقيت غير صالحة.badRequest (400)
tooManyPromotedItems
تعرض الطريقة channels.update
هذا الخطأ إذا كان الجزءinvideoPromotion
يحدّد عددًا أكبر من العدد المسموح به من العناصر التي يتم الترويج لها.forbidden (403)
promotedVideoNotAllowed
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.videoId
تحدّد معرّف فيديو يتعذّر العثور عليه أو لا يمكن استخدامه كعنصر تم الترويج له.forbidden (403)
websiteLinkNotAllowed
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.websiteUrl
تحدّد عنوان URL غير مسموح به.required (400)
requiredTimingType
تعرض الطريقة channels.update
هذا الخطأ إذا لم يحدِّد الطلب إعدادات التوقيت التلقائية للوقت الذي يجب أن يعرض فيه YouTube سلعة تم الترويج لها.required (400)
requiredTiming
يجب أن تحدّد الطريقة channels.update
عنصرinvideoPromotion.items[].timing
لكل عنصر يتم الترويج له.required (400)
requiredWebsiteUrl
يجب أن تحدّد الطريقة channels.update
سمةinvideoPromotion.items[].id.websiteUrl
لكل سلعة يتم الترويج لها.badRequest (400)
invalidPublishAt
تعرض الطريقة videos.insert
هذا الخطأ إذا كانت البيانات الوصفية للطلب تحدد وقت نشر مجدول غير صالح.
4 آذار (مارس) 2014
يتضمّن هذا التعديل التغييرات التالية:
-
ويخضع الإصدار الثالث من YouTube Data API حاليًا إلى "سياسة الإيقاف النهائي" الموضّحة في بنود خدمة واجهات برمجة تطبيقات YouTube. تجدر الإشارة إلى أنّ الصفحة التي تتضمّن واجهات برمجة التطبيقات التي تخضع لسياسة الإيقاف النهائي تستثني على وجه التحديد بعض وظائف واجهة برمجة التطبيقات v3 API من خضوعها للسياسة.
5 كانون الأول (ديسمبر) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تم تعديل وثائق طريقة
search.list
لتعكس بشكل صحيح أنك لا تحتاج إلى تحديد قيمة لمعلمة فلتر واحدة فقط عند إرسال طلب بحث. بل يمكنك بدلاً من ذلك ضبط قيمة لمعلَمات فلتر أو مَعلمة فلتر واحدة. -
تم تعديل تعريفات مَعلمات الطريقة
search.list
لملاحظة أنّه يجب ضبط قيمة المعلَمةtype
علىvideo
في حال تحديد قيمة لأيّ من المَعلمات التالية أيضًا:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
تم تقليل الحد الأدنى لحجم صور بانر القناة التي تم تحميلها إلى 2048 بكسل × 1152 بكسل. (في السابق، كان الحد الأدنى للحجم 2120 بكسل × 1192 بكسل). بالإضافة إلى ذلك، تجدر الإشارة إلى أنّ مستندات المورد
channel
تحدِّد الحدّ الأقصى لأحجام كل صور البانر المعروضة من واجهة برمجة التطبيقات. على سبيل المثال، الحد الأقصى لحجم صورةbrandingSettings.image.bannerTvImageUrl
في التطبيقات التلفزيونية هو 2120 بكسل × 1192 بكسل، ولكن قد يكون الحد الأقصى لحجم الصورة الفعلية 2048 بكسل × 1152 بكسل. يقدّم مركز مساعدة YouTube إرشادات إضافية لتحسين صورة القناة لعرضها على أنواع مختلفة من الأجهزة. -
تم تعديل العديد من تعريفات خصائص الموارد
channel
لتعكس المعلومات التالية:- يمكن أن تتألف قيمة السمة
brandingSettings.channel.description
من 1,000 حرف كحدّ أقصى. - يمكن أن تتألف السمة
brandingSettings.channel.featuredChannelsTitle
من 30 حرفًا كحدّ أقصى. - يمكن الآن للموقع الإلكتروني
brandingSettings.channel.featuredChannelsUrls[]
إدراج ما يصل إلى 100 قناة. - في حال ضبط قيمة السمة
brandingSettings.channel.unsubscribedTrailer
، يجب أن تحدّد معرّف فيديو YouTube لفيديو علني أو غير مُدرَج يملكه مالك القناة.
- يمكن أن تتألف قيمة السمة
-
تتيح الطريقة
channels.update
الآن إجراء تعديلات على السمةinvideoPromotion.items[].promotedByContentOwner
. تشير هذه السمة إلى ما إذا كان اسم مالك المحتوى سيظهر عند عرض العرض الترويجي. ولا يمكن ضبطها إلا إذا تم تقديم طلب البيانات من واجهة برمجة التطبيقات الذي يضبط قيمة الموقع نيابةً عن مالك المحتوى باستخدام المعلَمةonBehalfOfContentOwner
. -
تتيح الطريقتان
playlistItems.list
وplaylistItems.insert
الآن المَعلمةonBehalfOfContentOwner
، وهي متاحة حاليًا لعدة طرق أخرى. -
يمكن للسمة
contentDetails.contentRating.acbRating
الآن تحديد تقييم من مجلس التصنيف الأسترالي (ACB) للأفلام أو من هيئة الاتصالات والإعلام الأسترالية (ACMA) للبرامج التلفزيونية المخصّصة للأطفال. -
تحدّد السمتان
contentDetails.contentRating.catvRating
وcontentDetails.contentRating.catvfrRating
الجديدتان التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف التلفزيون الكندي ونظام التقييم Régie ducinéma باللغة الفرنسية، والمستخدَم في كيبيك، على التوالي. -
تشير السمة
snippet.assignable
الجديدة في الموردvideoCategory
إلى ما إذا كان من الممكن ربط الفيديوهات المعدّلة أو الفيديوهات التي تم تحميلها حديثًا بفئة الفيديو تلك. -
تمت إضافة عيّنات التعليمات البرمجية للطرق التالية:
activities.insert
(انتقال)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(انتقال)search.list
(انتقال)thumbnails.set
(Java)videos.insert
(انتقال)
24 تشرين الأول (أكتوبر) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تشتمل واجهة برمجة التطبيقات على ميزتين إضافيتين تم تصميمهما للمساعدة في العثور على محتوى البث المباشر وعرضه:
تحدّد السمة
snippet.liveBroadcastContent
الجديدة في نتائج البحث ما إذا كان الفيديو أو مورد القناة يتضمّن محتوى بثًا مباشرًا. قيم السمات الصالحة هيupcoming
وactive
وnone
.-
تحدد السمة
snippet.liveBroadcastContent
الجديدة التابعة لموردvideo
ما إذا كان الفيديو هو بث مباشر قادم أو نشط. توضِّح القائمة أدناه القيم المحتملة للموقع:upcoming
– الفيديو هو بث مباشر لم يبدأ بعد.active
– الفيديو هو بث مباشر جارٍ.none
: ليس الفيديو بثًا مباشرًا قادمًا أو نشطًا. وستكون هذه قيمة السمة لعمليات البث المكتملة التي لا تزال قابلة للعرض على YouTube.
-
السمة
liveStreamingDetails
الجديدة في الموردvideo
هي عنصر يحتوي على بيانات وصفية حول بث فيديو مباشر. لاسترداد هذه البيانات الوصفية، يجب تضمينliveStreamingDetails
في قائمة أجزاء الموارد الخاصة بقيمة المعلَمةpart
. تشمل البيانات الوصفية السمات الجديدة التالية:liveStreamingDetails.actualStartTime
– الوقت الذي بدأ فيه البث فعليًا (ستظهر هذه القيمة بعد أن تصبح حالة البثactive
).liveStreamingDetails.actualEndTime
– الوقت الذي انتهى فيه البث فعليًا. (ستظهر هذه القيمة بعد انتهاء البث).liveStreamingDetails.scheduledStartTime
– الوقت الذي تمت جدولة بدء البث فيه.liveStreamingDetails.scheduledEndTime
– الوقت الذي تمت جدولة انتهاء البث فيه. إذا كانت قيمة السمة فارغة أو لم تكن السمة متوفّرة، من المقرّر أن يستمر البث إلى أجل غير مسمّى.liveStreamingDetails.concurrentViewers
– عدد الأشخاص الذين يشاهدون البث المباشر
لاسترداد هذه البيانات الوصفية، عليك تضمين
liveStreamingDetails
في قيمة المعلَمةpart
عند استدعاء طريقةvideos.list
أوvideos.insert
أوvideos.update
.
تجدر الإشارة إلى أنّه تم إصدار ميزتين أخريين لتحديد محتوى البث المباشر في 1 تشرين الأول (أكتوبر) 2013، وهما: المعلمة
eventType
لطريقةsearch.list
وسمةsnippet.liveBroadcastContent
لنتيجة البحث. -
-
تتيح الطريقة
videos.insert
الآن استخدام المَعلمةnotifySubscribers
التي تشير إلى ما إذا كان يجب على YouTube إرسال إشعار حول الفيديو الجديد إلى المستخدمين الذين يشتركون في القناة التي تعرض الفيديو. إنّ القيمة التلقائية للمَعلمة هيTrue
، ما يعني أنّه سيتم إشعار المشتركين بالفيديوهات الجديدة التي يتم تحميلها. مع ذلك، قد يفضّل مالك القناة الذي يحمِّل العديد من الفيديوهات ضبط القيمة علىFalse
لتجنُّب إرسال إشعار إلى المشتركين في القناة بشأن كل فيديو جديد. -
تم تعديل قائمة السمات التي يمكن تعديلها عند استدعاء طريقة
channels.update
لتشمل السمتَينinvideoPromotion.items[].customMessage
وinvideoPromotion.items[].websiteUrl
. بالإضافة إلى ذلك، تم تعديل القائمة لتحديد سماتbrandingSettings
القابلة للتعديل. كانت سماتbrandingSettings
هذه قابلة للتعديل من قبل، لذا لا يعكس التغيير في المستندات تغييرًا في الوظائف الحالية لواجهة برمجة التطبيقات. -
تتيح الطرق
playlists.insert
وplaylists.update
وplaylists.delete
الآن استخدام المَعلمةonBehalfOfContentOwner
، وهي متاحة حاليًا للعديد من الطرق الأخرى. -
توفِّر الطريقة
playlists.insert
الآن المَعلمةonBehalfOfContentOwnerChannel
، وهي متوافقة حاليًا مع عدّة طرق أخرى. -
تتيح السمة
contentDetails.contentRating.tvpgRating
لموردvideo
الآن القيمةpg14
التي تتوافق مع تقييمTV-14
. -
تم تصحيح تعريف السمة
snippet.liveBroadcastContent
، التي تشكّل جزءًا من نتائج البحث، ليعكس أنlive
هي قيمة سمة صالحة، ولكنactive
ليست قيمة سمة صالحة. -
تتيح السمة
contentDetails.contentRating.mibacRating
لموردvideo
الآن تقييمَين إضافيَين:mibacVap
(VAP): يجب أن يكون الأطفال برفقة شخص بالغ.mibacVm6
(V.M.6) – مقتصر على 6 سنوات وأكثر.mibacVm12
(V.M.12) – مقتصر على 12 عامًا وأكثر.
-
تشير السمة
invideoPromotion.items[].promotedByContentOwner
الجديدة في الموردchannel
إلى ما إذا كان اسم مالك المحتوى سيظهر عند عرض العرض الترويجي. لا يمكن ضبط هذا الحقل إلّا إذا تم تقديم طلب البيانات من واجهة برمجة التطبيقات الذي يحدّد القيمة بالنيابة عن مالك المحتوى. اطّلِع على مَعلمةonBehalfOfContentOwner
لمزيد من المعلومات.
1 تشرين الأول (أكتوبر) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
يحتوي عنصر
auditDetails
الجديد في الموردchannel
على بيانات قناة ستقيّمها الشبكة المتعددة القنوات (MCN) لتحديد ما إذا كانت سيتم قبول قناة معيّنة أو رفضها. تجدر الإشارة إلى أنّ أي طلب من واجهة برمجة التطبيقات يسترد هذا الجزء من المورد يجب أن يوفر رمزًا مميّزًا للتفويض يحتوي على نطاقhttps://www.googleapis.com/auth/youtubepartner-channel-audit
. بالإضافة إلى ذلك، يجب إبطال أي رمز مميّز يستخدم هذا النطاق عندما تقرر الشبكة المتعدّدة القنوات قبول القناة أو رفضها، أو في غضون أسبوعين من تاريخ إصدار الرمز المميّز. -
أصبحت السمة
invideoPromotion.items[].id.type
في الموردchannel
تتوافق الآن مع القيمةrecentUpload
، ما يشير إلى أنّ العنصر الذي يتم الترويج له هو آخر فيديو تم تحميله من قناة محدّدة.تتشابه القناة بشكل تلقائي مع القناة التي تم ضبط بيانات الترويج ضمن الفيديو لها. مع ذلك، يمكنك الترويج لأحدث فيديو تم تحميله من قناة أخرى من خلال ضبط قيمة السمة
invideoPromotion.items[].id.recentlyUploadedBy
الجديدة على معرّف القناة لتلك القناة. -
يحتوي المورد
channel
على ثلاث خصائص جديدة –brandingSettings.image.bannerTvLowImageUrl
وbrandingSettings.image.bannerTvMediumImageUrl
وbrandingSettings.image.bannerTvHighImageUrl
– تحدد عناوين URL لصور البانر التي تظهر على صفحات القنوات في تطبيقات التلفزيون. -
تحدّد السمة
snippet.liveBroadcastContent
الجديدة في نتائج البحث ما إذا كان الفيديو أو مورد القناة يتضمّن محتوى بثًا مباشرًا. قيم السمات الصالحة هيupcoming
وactive
وnone
.- بالنسبة إلى مورد
video
، تشير القيمةupcoming
إلى أنّ الفيديو هو بث مباشر لم يبدأ بعد، بينما تشير القيمةactive
إلى أنّ الفيديو هو بث مباشر جارٍ. - بالنسبة إلى مورد
channel
، تشير القيمةupcoming
إلى أنّ القناة تعرض بثًا مباشرًا مجدولاً لم يبدأ بعد، بينما تشير القيمةacive
إلى أنّ القناة لديها بث مباشر جارٍ.
- بالنسبة إلى مورد
-
في المورد
watermark
، تم تغيير السمةtargetChannelId
من كائن إلى سلسلة. بدلاً من تضمين سمة فرعية تحدّد معرّف قناة YouTube للقناة التي ترتبط بها صورة العلامة المائية، ستحدّد السمةtargetChannelId
الآن هذه القيمة بنفسها. وبناءً على ذلك، تمت إزالة السمةtargetChannelId.value
للمورد. -
توفِّر الطريقة
thumbnails.set
الآن المَعلمةonBehalfOfContentOwner
، وهي متوافقة حاليًا مع عدّة طرق أخرى. -
تتيح الطريقة
search.list
الآن استخدام المَعلمةeventType
التي تمنع عملية البحث من عرض أحداث البث النشطة أو القادمة أو المكتملة فقط. -
تحدد السمة
contentDetails.contentRating.mibacRating
الجديدة التقييم الذي حصل عليه الفيديو من وزير إيطاليا ووزيرو. -
توفِّر واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest
invalidImage
تعرض الطريقة thumbnails.set
هذا الخطأ إذا كان محتوى الصورة المقدَّمة غير صالح.forbidden
videoRatingDisabled
تعرض الطريقة videos.rate
هذا الخطأ إذا كان مالك الفيديو الذي يتم تقييمه قد أوقف التقييمات لهذا الفيديو.
27 آب (أغسطس) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
يحدّد مورد
watermark
الجديد صورة يتم عرضها أثناء تشغيل فيديوهات قناة محدّدة. ويمكنك أيضًا تحديد القناة التي سيتم ربط الصورة بها، بالإضافة إلى تفاصيل التوقيت التي تحدد وقت ظهور العلامة المائية أثناء تشغيل الفيديو ومدتها.يتم استخدام طريقة
watermarks.set
لتحميل العلامة المائية للقناة وضبطها. تحذف طريقةwatermarks.unset
الصورة المائية للقناة.تصف مستندات الخطأ رسائل الخطأ المتوافقة مع واجهة برمجة التطبيقات تحديدًا للطريقتَين
watermarks.set
وwatermarks.unset
. -
تحتوي السمة
statistics.hiddenSubscriberCount
الجديدة في الموردchannel
على قيمة منطقية تشير إلى ما إذا كان عدد المشتركين في القناة مخفيًا. وبناءً على ذلك، تكون قيمة الموقع هيfalse
إذا كان عدد المشتركين في القناة مرئيًا بشكل علني. -
تتوافق الطريقة
playlists.list
الآن مع المعلمتَينonBehalfOfContentOwner
وonBehalfOfContentOwnerChannel
. يمكن استخدام كلتا المعلمتَين في العديد من الطرق الأخرى. -
تتيح الطريقة
videos.list
الآن المعلَمةregionCode
، التي تحدد منطقة المحتوى التي يجب استرداد الرسم البياني فيها. لا يمكن استخدام هذه المَعلمة إلا مع المَعلمةchart
. قيمة المَعلمة هي رمز بلد بصيغة ISO 3166-1 alpha-2. -
يصف
error documentation
خطأ الطلب الشائع الجديد التالي، والذي قد يحدث لطرق واجهة برمجة التطبيقات المتعددة:نوع الخطأ تفاصيل الخطأ الوصف forbidden
insufficientPermissions
النطاقات المرتبطة برمز OAuth 2.0 المميز المقدَّم للطلب غير كافية للوصول إلى البيانات المطلوبة.
15 آب (أغسطس) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
يحتوي كائن
invideoPromotion
في الموردchannel
على السمات الجديدة والمعدَّلة التالية:-
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد موقع إلكتروني كعنصر يتم الترويج له. ولإجراء ذلك، اضبط قيمة السمة
invideoPromotion.items[].id.type
علىwebsite
واستخدِم سمةinvideoPromotion.items[].id.websiteUrl
الجديدة لتحديد عنوان URL. استخدِم أيضًا السمةinvideoPromotion.items[].customMessage
الجديدة لتحديد رسالة مخصّصة لعرضها في العرض الترويجي.يمكن أن تكون الروابط إلى مواقع إلكترونية أو مواقع تجّار أو مواقع شبكات اجتماعية مرتبطة. يمكنك الاطّلاع على تعليمات "مركز مساعدة YouTube" بشأن المواقع الإلكترونية المرتبطة ومواقع التجّار الإلكترونية للحصول على مزيد من المعلومات حول تفعيل الروابط المؤدية إلى المحتوى الخاص بك.
من خلال إضافة روابط ترويجية، أنت توافق على عدم استخدام هذه الروابط لإعادة توجيه الزيارات إلى مواقع إلكترونية غير مصرَّح بها، وأنّ هذه الروابط ستلتزم بسياسات AdWords وسياسات الإعلانات في YouTube وإرشادات منتدى YouTube وبنود خدمة YouTube.
-
تمت إعادة هيكلة الخصائص المتعلقة بإعدادات توقيت عرض العناصر التي يتم الترويج لها أثناء تشغيل الفيديو:
-
تم نقل الكائن
invideoPromotion.timing
إلىinvideoPromotion.items[].timing
. يتيح لك هذا الكائن الآن تخصيص بيانات التوقيت لكل عنصر يتم الترويج له في قائمةinvideoPromotion.items[]
. -
يحدّد الكائن
invideoPromotion.defaultTiming
الجديد إعدادات التوقيت التلقائية لعرضك الترويجي. تحدد هذه الإعدادات وقت عرض العنصر الترويجي أثناء تشغيل أحد الفيديوهات على قناتك. يمكنك استخدام الكائنinvideoPromotion.items[].timing
لإلغاء التوقيت التلقائي لأي سلعة يتم الترويج لها. -
تحدّد السمة
invideoPromotion.items[].timing.durationMs
الجديدة المدة الزمنية بالملي ثانية التي يجب أن يظهر فيها العرض الترويجي. يحتوي الكائنinvideoPromotion.defaultTiming
أيضًا على حقلdurationMs
يحدِّد المدة الزمنية التلقائية التي سيتم عرض العنصر المروَّج لها خلالها.
-
-
تم نقل كلتا السمتَين
invideoPromotion.items[].type
وinvideoPromotion.items[].videoId
إلى العنصرinvideoPromotion.items[].id
.
-
-
تتوافق الطريقة
subscriptions.list
الآن مع المعلمتَينonBehalfOfContentOwner
وonBehalfOfContentOwnerChannel
. يمكن استخدام كلتا المعلمتَين في العديد من الطرق الأخرى. -
في استجابة واجهة برمجة التطبيقات لطلب
thumbnails.set
، تم تغيير قيمة السمةkind
منyoutube#thumbnailListResponse
إلىyoutube#thumbnailSetResponse
. -
تمت إضافة عيّنات التعليمات البرمجية للطرق التالية:
channels.update
(Java، Python)playlists.insert
(.NET وPHP)subscriptions.insert
(PHP، Python)thumbnails.set
(PHP، Python)videos.insert
(PHP)videos.list
(PHP)videos.rate
(Python)videos.update
(Java وPHP وPython)
تجدر الإشارة إلى أنّه تمت أيضًا إزالة مثال Python للطريقة
playlistItems.insert
لأنّ الوظيفةvideos.rate
تتم معالجتها الآن. -
يصف
error documentation
الخطأ الجديد التالي في سياق الطلب، والذي قد يحدث لأي طريقة واجهة برمجة تطبيقات تتوافق مع معلَمة طلبmine
:نوع الخطأ تفاصيل الخطأ الوصف badRequest
invalidMine
لا يمكن استخدام المعلَمة mine
في الطلبات التي يكون فيها المستخدم الذي تمت مصادقته أحد شركاء YouTube. يجب إزالة المعلَمةmine
، أو المصادقة بصفتك مستخدمًا لمنصة YouTube من خلال إزالة المعلَمةonBehalfOfContentOwner
، أو العمل كإحدى قنوات الشريك من خلال توفير المَعلمةonBehalfOfContentOwnerChannel
إذا كانت متاحة للطريقة التي يتم طلبها.
8 آب (أغسطس) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
لقد عدّلنا قسم استخدام الحصص ضمن دليل بدء استخدام YouTube Data API لتعكس تغييرًا في تكلفة الحصة المخصصة لتحميل الفيديو من 16,000 وحدة تقريبًا إلى 1,600 وحدة تقريبًا.
30 تموز (يوليو) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
في مورد
channelBanner
، تم تغيير قيمة السمةkind
منyoutube#channelBannerInsertResponse
إلىyoutube#channelBannerResource
. يتم عرض هذا المورد استجابةً لطلبchannelBanners.insert
. -
تحدّد السمة
brandingSettings.channel.profileColor
الجديدة في الموردchannel
لونًا بارزًا يتكامل مع محتوى القناة. قيمة الخاصية هي علامة جنيه (#
) متبوعة بسلسلة سداسية عشرية مكوَّنة من ستة أحرف، مثل#2793e6
. -
تتيح واجهة برمجة التطبيقات حاليًا تحديد ما إذا كان الاشتراك مخصّصًا لجميع أنشطة القناة أو للفيديوهات الجديدة فقط. تحدد السمة
contentDetails.activityType
الجديدة في الموردsubscription
أنواع الأنشطة التي سيتم إشعار المشترك بشأنها. القيمتان الصالحتان للسمة هماall
وuploads
. -
تدعم الطريقة
videos.list
معلَمات جديدة لاسترداد رسم بياني يعرض الفيديوهات الأكثر رواجًا على YouTube:- تحدِّد المَعلمة
chart
الرسم البياني الذي تريد استرداده. في الوقت الحالي، القيمة الوحيدة المسموح بها هيmostPopular
. يُرجى العلم أنّ مَعلمةchart
هي معلَمة فلتر، ما يعني أنّه لا يمكن استخدامها في الطلب نفسه الذي تستخدمه مَعلمات الفلاتر الأخرى (id
وmyRating
). - تحدد المعلمة
videoCategoryId
فئة الفيديو التي يجب استرداد الرسم البياني لها. لا يمكن استخدام هذه المَعلمة إلا مع المَعلمةchart
. بشكل افتراضي، لا تقتصر المخططات على فئة معينة.
- تحدِّد المَعلمة
-
توفّر السمة
topicDetails.relevantTopicIds[]
الجديدة في الموردvideo
قائمة بمعرّفات مواضيع Freebase ذات الصلة بالفيديو أو بمحتواه. قد تتم الإشارة إلى مواضيع هذه المواضيع في الفيديو أو قد تظهر في الفيديو. -
تمت إعادة تسمية خاصية
recordingDetails.location.elevation
للموردvideo
إلىrecordingDetails.location.altitude
، كما تمت إعادة تسمية خاصيةfileDetails.recordingLocation.location.elevation
إلىfileDetails.recordingLocation.location.altitude
. -
يحدّد الكائن
contentDetails.contentRating
للموردvideo
التقييمات التي حصل عليها الفيديو بموجب أنظمة تقييم مختلفة، بما في ذلك تقييمات MPAA وتقييمات TVPG وما إلى ذلك. بالنسبة إلى كل نظام تقييم، تتيح واجهة برمجة التطبيقات الآن قيمة تقييم تشير إلى أنّه لم يتم تقييم الفيديو. يُرجى العلم أنّه بالنسبة إلى تقييمات MPAA، يتم استخدام التقييم "بلا تقييم" بشكل متكرر لتحديد الإصدارات غير المقصوصة من الأفلام التي حصلت على تقييم رسمي للنسخة المقتطعة من الفيلم. -
تحدّد السمة
contentDetails.contentRating.ytRating
الجديدة في الموردvideo
المحتوى المحظور على فئات عمرية معيّنة. سيتم ضبط قيمة السمة علىytAgeRestricted
إذا تبيّن لفريق YouTube أنّ الفيديو يتضمّن محتوًى غير ملائم للمستخدمين الذين تقلّ أعمارهم عن 18 عامًا. وإذا لم تظهر السمة أو إذا كانت قيمتها فارغة، هذا يعني أنّه لم يتم تحديد المحتوى على أنّه محظور على فئات عمرية معيّنة. -
تم إيقاف المعلمة
mySubscribers
لطريقةchannels.list
نهائيًا. يمكنك استخدام الإجراءsubscriptions.list
والمَعلمةmySubscribers
الخاصة بها لاسترداد قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه. -
يمكن الآن استخدام المَعلمة
onBehalfOfContentOwner
في جميع الطرقchannelBanners.insert
وchannels.update
وvideos.getRating
وvideos.rate
. وتشير هذه المَعلمة إلى أنّ المستخدم الذي تمت المصادقة عليه يتصرف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. -
تم تعديل مستندات الطريقة
channels.update
لتعكس إمكانية استخدام هذه الطريقة لتعديل كائنbrandingSettings
في موردchannel
وخصائصه الفرعية. تعرض المستندات الآن أيضًا قائمة معدّلة بالسمات التي يمكنك ضبطها لعنصرinvideoPromotion
في موردchannel
. -
توضّح
error documentation
الأخطاء الجديدة التالية:نوع الخطأ تفاصيل الخطأ الوصف forbidden
accountDelegationForbidden
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. يشير هذا الرمز إلى أنّ المستخدم الذي تمت المصادقة عليه ليس مفوضًا بالتصرف نيابةً عن حساب Google المحدَّد. forbidden
authenticatedUserAccountClosed
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. يشير ذلك إلى أنه تم إغلاق حساب YouTube للمستخدم الذي تمت المصادقة عليه. إذا كان المستخدم يتصرّف نيابةً عن حساب Google آخر، سيشير هذا الخطأ إلى أنّ الحساب الآخر تم إغلاقه. forbidden
authenticatedUserAccountSuspended
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. يشير ذلك إلى أنه تم تعليق حساب المستخدم الذي تمت المصادقة عليه على YouTube. إذا كان المستخدم يتصرّف نيابةً عن حساب Google آخر، سيشير هذا الخطأ إلى أنّه تم تعليق الحساب الآخر. forbidden
authenticatedUserNotChannel
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. ويشير إلى أنّ خادم واجهة برمجة التطبيقات لا يمكنه تحديد القناة المرتبطة بطلب البيانات من واجهة برمجة التطبيقات. إذا كان الطلب معتمدًا وكان يستخدم المَعلمة onBehalfOfContentOwner
، عليك أيضًا ضبط المَعلمةonBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. غير مسموح لمستخدم نظام إدارة المحتوى بالتصرف نيابةً عن مالك المحتوى المحدّد. notFound
contentOwnerAccountNotFound
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. لم يتم العثور على حساب مالك المحتوى المحدد. badRequest
invalidPart
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. تحدّد معلَمة part
الخاصة بالطلب الأجزاء التي لا يمكن كتابتها في الوقت نفسه.badRequest
videoChartNotFound
تعرض الطريقة videos.list
هذا الخطأ عندما يحدِّد الطلب رسمًا بيانيًا لفيديو غير متوافق أو غير متاح.notFound
videoNotFound
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى تعذّر العثور على الفيديو الذي تحاول تحديثه. تحقّق من قيمة السمةid
في نص الطلب للتأكّد من صحتها.
10 حزيران (يونيو) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح لك المعلمة
forUsername
الجديدة الخاصة بطريقةchannels.list
استرداد معلومات حول قناة من خلال تحديد اسم مستخدم YouTube الخاص بها. -
تتيح الطريقة
activities.list
الآن استخدام المَعلمةregionCode
التي توجّه واجهة برمجة التطبيقات النتائج ذات الصلة بالبلد المحدّد. وتستخدم YouTube هذه القيمة عندما لا يوفّر النشاط السابق للمستخدم المفوَّض على YouTube معلومات كافية لإنشاء خلاصة النشاط. -
تحتوي موارد قوائم التشغيل الآن على السمة
snippet.tags
. لن يتم إرجاع الموقع إلا للمستخدمين المصرّح لهم الذين يستردون البيانات حول قوائم التشغيل الخاصة بهم. يمكن للمستخدمين المفوَّضين أيضًا ضبط علامات قوائم التشغيل عند استخدام إحدى الطريقتَينplaylists.insert
أوplaylists.update
. -
أصبحت المَعلمة
onBehalfOfContentOwner
التي كانت متوافقة في السابق مع الطريقتَينchannels.list
وsearch.list
متوافقة أيضًا مع الطرقvideos.insert
وvideos.update
وvideos.delete
. يُرجى العِلم بأنّه عند استخدام هذه المعلَمة في طلب الإجراءvideos.insert
، يجب أن يحدّد الطلب أيضًا قيمة للمَعلمةonBehalfOfContentOwnerChannel
الجديدة التي تحدّد القناة التي ستتم إضافة الفيديو إليها. يجب أن تكون القناة مرتبطة بمالك المحتوى الذي تحدّده المَعلمةonBehalfOfContentOwner
.تشير المَعلمة إلى أنّ بيانات اعتماد التفويض الخاصة بالطلب تحدّد مستخدم "نظام إدارة محتوى YouTube" الذي يتصرّف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. يجب أن يكون حساب نظام إدارة المحتوى الذي يصادقه المستخدم مرتبطًا بمالك المحتوى المحدد على YouTube.
هذه المعلَمة مخصّصة لشركاء المحتوى الذين يملكون العديد من القنوات المختلفة على YouTube ويديرونها. وتتيح المَعلمة لهؤلاء الشركاء إجراء المصادقة مرة واحدة والوصول إلى جميع بيانات القنوات والفيديوهات الخاصة بهم، بدون الحاجة إلى تقديم بيانات اعتماد مصادقة لكل قناة على حدة.
وفي ما يتعلق بهذا الإصدار على وجه التحديد، تتيح المَعلمة لشريك المحتوى الآن إدراج فيديوهات أو تعديلها أو حذفها في أي من قنوات YouTube التي يملكها هذا الشريك.
-
توضّح
error documentation
الأخطاء الجديدة التالية:نوع الخطأ تفاصيل الخطأ الوصف forbidden
insufficientCapabilities
لا يقتصر هذا الخطأ على طريقة معينة لواجهة برمجة التطبيقات. يشير ذلك إلى أنّ مستخدم نظام إدارة المحتوى (CMS) الذي يتصل بواجهة برمجة التطبيقات لا يملك الأذونات الكافية لتنفيذ العملية المطلوبة. ويرتبط هذا الخطأ باستخدام المَعلمة onBehalfOfContentOwner
، المتوافقة مع عدّة طرق لواجهة برمجة التطبيقات.unauthorized
authorizationRequired
تعرض الطريقة activities.list
هذا الخطأ عندما يستخدم الطلب المعلَمةhome
ولكن لم يتم تفويضه بشكل صحيح. -
في مورد
channels
، تمت إزالة السمةinvideoPromotion.channelId
لأنّه سبق أن تم تحديد معرّف القناة باستخدام السمةid
الخاصة بالمورد. -
يوضّح دليل استخدام معرّفات القنوات الجديد طريقة استخدام واجهة برمجة التطبيقات لمعرّفات القنوات. قد يكون هذا الدليل مفيدًا بشكل خاص للمطوِّرين الذين ينتقلون من الإصدار السابق من واجهة برمجة التطبيقات والذين لديهم تطبيقات تطلب محتوى لمستخدم
default
أو تعتمد على فكرة أنّ كل قناة على YouTube لها اسم مستخدم فريد، وهو الأمر الذي لم يعُد ساريًا.
22 أيار (مايو) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح لك طريقة
channelBanners.insert
الجديدة تحميل صورة بانر يمكن ضبطها لاحقًا كصورة بانر لقناة باستخدام السمةbrandingSettings.image.bannerExternalUrl
الجديدة لموردchannel
. -
تم تعديل المستندات الخاصة بالطريقة
channels.update
لسرد السمات التي يمكن تعديلها عند استدعاء الطريقة. -
لم تعُد مستندات المورد
video
تدرجunspecified
كقيمة سمة صالحة للسماتsuggestions.processingErrors[]
وsuggestions.processingHints[]
وsuggestions.processingWarnings[]
وsuggestions.editorSuggestions[]
. -
أصبحت قيمة المعلَمة
maxResults
لطريقةvideos.list
الآن قيمة تلقائية تبلغ5
. -
تعرض ميزة "
error documentation
" الآن أخطاءً للطريقتَينchannelBanners.insert
وsubscriptions.list
. ويتم أيضًا إدراج العديد من الأخطاء الجديدة في طريقةchannels.update
.
14 أيار (مايو) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تُدرج الصفحات المستقلة الآن نماذج رموز لتطبيقات Java و.NET وPHP وRuby.
-
الصفحة التي تتضمّن عيّنات من رموز Python تشمل الآن أمثلة لإضافة اشتراك وإنشاء قائمة تشغيل وتعديل فيديو.
10 أيار (مايو) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
لم تعُد منصة YouTube تحدّد الميزات والخدمات التجريبية لواجهة برمجة التطبيقات. بدلاً من ذلك، نقدّم الآن قائمة بواجهات برمجة تطبيقات YouTube التي تخضع لسياسة الإيقاف النهائي.
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
– تحدّد السمة اسم القناة التي اشتركت فيها.
-
تمت إضافة عيّنات التعليمات البرمجية للطرق التالية:
activities.insert
(روبية)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java، Ruby)videos.insert
(.NET وRuby)
-
تُتيح لك مَعلمة
mySubscribers
الجديدة الخاصة بطريقةsubscriptions.list
استرداد قائمة بمشتركي المستخدم الذين تمت مصادقتهم حاليًا. لا يمكن استخدام هذه المَعلمة إلا في طلب معتمد بشكل صحيح.ملاحظة: تهدف هذه الوظيفة إلى استبدال المَعلمة
mySubscribers
المتوافقة حاليًا مع طريقةchannels.list
. سيتم إيقاف هذه المَعلمة نهائيًا. -
في مورد
video
، لم تعُد قيمة السمةunspecified
قيمة ممكنة لأيّ من السمات التالية: -
تعرض الآن طلبات البيانات من واجهة برمجة التطبيقات التي تحتوي على مَعلمة غير متوقعة الخطأ
badRequest
، والسبب الذي تم الإبلاغ عنه للخطأ هوunexpectedParameter
. -
رسالة الخطأ التي تؤدي إلى عرض طريقة
playlistItems.insert
عندما تحتوي قائمة التشغيل على الحد الأقصى لعدد العناصر المسموح بها يتم الآن الإبلاغ عن الخطأ على أنّه خطأforbidden
، وسبب الخطأ هوplaylistContainsMaximumNumberOfVideos
.
19 نيسان (أبريل) 2013
يتضمّن هذا التعديل التغييرات التالية:
-
تتيح طريقة
videos.rate
الجديدة للمستخدم ضبط تقييمlike
أوdislike
لفيديو معيّن أو إزالة تقييم منه.تم أيضًا تعديل مستندات الخطأ لسرد الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لاستدعاء إجراء
videos.rate
. -
نحدّد الآن الصور المصغّرة في مستندات واجهة برمجة التطبيقات باعتبارها موردًا منفصلاً، وتتيح لك طريقة
thumbnails.set
الجديدة تحميل صورة مصغّرة مخصّصة للفيديو إلى YouTube وضبطها كفيديو.تم أيضًا تعديل مستندات الخطأ لسرد الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لاستدعاء إجراء
thumbnails.set
.تجدر الإشارة إلى أنّ هذا التغيير لا يؤثر في الموارد الحالية التي تعرض الصور المصغّرة. يتم عرض الصور المصغّرة في هذه الموارد بالطريقة نفسها التي كانت تظهر بها في السابق، على الرغم من أنّ المستندات تسرد الآن أسماء أحجام الصور المصغّرة المختلفة التي قد تعرضها واجهة برمجة التطبيقات.
-
يحدد الجزء
channel
الجديدbrandingSettings
الإعدادات والنصوص والصور لصفحة القناة وصفحات مشاهدة الفيديو. -
يحتوي مورد
playlistItem
على الخصائص الجديدة التالية:-
يحتوي الكائن
status
الجديد على معلومات حول حالة عنصر قائمة التشغيل، وتحدد السمةstatus.privacyStatus
حالة خصوصية عنصر قائمة التشغيل.
-
-
يحتوي مورد
video
على الخصائص الجديدة التالية:-
تشير السمة
status.publicStatsViewable
إلى ما إذا كانت إحصاءات الفيديو الموسّعة على صفحة المشاهدة متاحة بشكل علني. وبشكل تلقائي، يمكن عرض هذه الإحصاءات، وستظل الإحصاءات مثل عدد مشاهدات الفيديو والتقييمات تظهر بشكل علني، حتى إذا تم ضبط قيمة هذا الموقع علىfalse
. يمكنك ضبط قيمة هذه السمة عند طلب طريقةvideos.insert
أوvideos.update
. -
يتضمّن الكائن
contentDetails.contentRating
التقييمات التي حصل عليها الفيديو ضمن أنظمة تقييم مختلفة. تحدِّد القائمة التالية أنظمة التقييم المتوافقة وتقدّم رابطًا يؤدي إلى الموقع المرتبط بكل نظام تقييم. تحدد تعريفات المواقع قيم التقييم المتوافقة لكل نظام.البلد نظام التقييم الموقع الولايات المتحدة Motion Picture Association of America (MPAA) contentDetails.contentRating.mpaaRating
الولايات المتحدة إرشادات المراقبة الأبوية على المحتوى التليفزيوني contentDetails.contentRating.tvpgRating
أستراليا مجلس التصنيف الأسترالي (ACB) contentDetails.contentRating.acbRating
البرازيل قسم "إدارة العدل" في "تصنيف" contentDetails.contentRating.djctqRating
كندا نظام تقييم الفيديو المنزلي الكندي (CHVRS) contentDetails.contentRating.chvrsRating
فرنسا National du cinéma et de l'image animée (وزارة الثقافة الفرنسية) contentDetails.contentRating.fmocRating
ألمانيا مؤسسة Freiwillige Selbstkontrolle der Filmwirtschaft (FSK) contentDetails.contentRating.fskRating
بريطانيا العظمى المجلس البريطاني لتصنيف الأفلام (BBFC) contentDetails.contentRating.bbfcRating
الهند المجلس المركزي لاعتماد الأفلام (CBFC) contentDetails.contentRating.cbfcRating
اليابان 映倫管委苯 (EIRIN) contentDetails.contentRating.eirinRating
كوريا 주물연원위원즈 (KMRB) contentDetails.contentRating.kmrbRating
المكسيك الإدارة العامة للراديو والتلفزيون والتصوير السينمائي (RTC) contentDetails.contentRating.rtcRating
نيوزيلندا مكتب تصنيف الأفلام والأدب contentDetails.contentRating.oflcRating
روسيا السجلّ الوطني للأفلام في الاتحاد الروسي contentDetails.contentRating.russiaRating
إسبانيا معهد Instituto de la السينماtografía y de las Artes Audiovisuales (ICAA) contentDetails.contentRating.icaaRating
-
-
تم تعديل وثائق طريقة
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
للموارد التالية: -
تتيح الطريقة
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
يتضمّن هذا التعديل التغييرات التالية:
-
تتوفر عيّنات التعليمات البرمجية الآن للطرق واللغات المعروضة في القائمة أدناه:
activities.insert
– JavaplaylistItems.insert
– PythonplaylistItems.list
– Java وJavaScript وPHP وPython وRubyplaylists.insert
– Java وJavaScript وPythonsearch.list
– Java وJavaScript وPython وRubyvideos.insert
– Java
-
يمكن لمورد
activity
الآن الإبلاغ عن الإجراء "channelItem
" الذي يحدث عندما تضيف منصة YouTube فيديو إلى قناة تم إنشاؤها تلقائيًا على YouTube. (تحدد YouTube من خلال الخوارزميات المواضيع التي لها حضور كبير على موقع YouTube الإلكتروني وتنشئ قنوات لهذه المواضيع تلقائيًا). -
تم تعديل مَعلمات
search.list
التالية:- ولم يعُد بالإمكان تصنيف المَعلمة
q
كفلتر، ما يعني أنّ .... - تمت إعادة تسمية المعلمة
relatedToVideo
باسمrelatedToVideoId
. - تم استبدال المَعلمة
published
بمعلّمتَين جديدتَين، وهماpublishedAfter
وpublishedBefore
، كما هو موضّح أدناه.
- ولم يعُد بالإمكان تصنيف المَعلمة
-
تتيح الطريقة
search.list
المَعلمات الجديدة التالية:اسم المعلَمة القيمة الوصف channelId
string
عرض الموارد التي تم إنشاؤها بواسطة القناة المحددة. publishedAfter
datetime
عرض الموارد التي تم إنشاؤها بعد الوقت المحدد. publishedBefore
datetime
عرض الموارد التي تم إنشاؤها قبل الوقت المحدد. regionCode
string
عرض الموارد للبلد المحدد. videoCategoryId
string
يمكنك فلترة نتائج البحث عن الفيديوهات لتضمين الفيديوهات المرتبطة بفئة الفيديو المحدّدة فقط. videoEmbeddable
string
فلترة نتائج البحث عن الفيديو لتضمين الفيديوهات التي يمكن تشغيلها في مشغّل مضمّن على صفحة ويب فقط اضبط قيمة المعلَمة على true
لاسترداد الفيديوهات القابلة للتضمين فقط.videoSyndicated
string
يمكنك فلترة نتائج بحث الفيديو لتضمين الفيديوهات التي يمكن تشغيلها خارج YouTube.com فقط. اضبط قيمة المعلَمة على true
لاسترداد الفيديوهات المقتبسة فقط. -
تتيح العديد من موارد واجهة برمجة التطبيقات استخدام مواقع جديدة. يحدد الجدول أدناه الموارد وخصائصها الجديدة:
المورد اسم الموقع القيمة الوصف activity
contentDetails.playlistItem.playlistItemId
string
معرّف عنصر قائمة التشغيل الذي عيّنه YouTube لتحديد العنصر في قائمة التشغيل بشكل فريد. activity
contentDetails.channelItem
object
كائن يحتوي على معلومات حول مورد تمت إضافته إلى قناة. ولا تتوفّر هذه السمة إلا إذا كانت قيمة snippet.type
هيchannelItem
.activity
contentDetails.channelItem.resourceId
object
كائن يحدد المورد الذي تمت إضافته إلى القناة. على غرار خصائص resourceId
الأخرى، يتضمّن السجلّ السمةkind
التي تحدّد نوع المورد، مثل فيديو أو قائمة تشغيل. وهي تحتوي أيضًا على واحدة من الخصائص المتعددة، مثلvideoId
وplaylistId
وما إلى ذلك، والتي تحدد المعرّف الذي يعرّف هذا المورد بشكل فريد.channel
status
object
وتعرض هذه السمة معلومات حول حالة خصوصية القناة. channel
status.privacyStatus
string
حالة خصوصية القناة القيمتان الصالحتان هما private
وpublic
.playlist
contentDetails
object
يحتوي هذا العنصر على بيانات وصفية حول محتوى قائمة التشغيل. playlist
contentDetails.itemCount
unsigned integer
عدد الفيديوهات في قائمة التشغيل playlist
player
object
يحتوي هذا العنصر على معلومات قد تستخدمها لتشغيل قائمة التشغيل في مشغّل مضمّن. playlist
player.embedHtml
string
علامة <iframe>
لتضمين مشغّل فيديو يعرض قائمة التشغيلvideo
recordingDetails
object
ويتضمّن هذا العنصر معلومات تحدّد أو تصف مكان ووقت تسجيل الفيديو. video
recordingDetails.location
object
يحتوي هذا العنصر على معلومات رصد الموقع الجغرافي المرتبطة بالفيديو. video
recordingDetails.location.latitude
double
خط العرض بالدرجات. video
recordingDetails.location.longitude
double
خط الطول بالدرجات. video
recordingDetails.location.elevation
double
الارتفاع فوق الأرض بالمتر video
recordingDetails.locationDescription
string
وصف نصي للموقع الجغرافي حيث تم تسجيل الفيديو video
recordingDetails.recordingDate
datetime
تشير هذه العلامة إلى تاريخ ووقت تسجيل الفيديو. ويتم تحديد القيمة بتنسيق ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
تحدِّد المستندات الخاصة بالعديد من طرق واجهة برمجة التطبيقات الآن الخصائص التي يجب تحديدها في نص الطلب أو الخصائص التي يتم تعديلها استنادًا إلى القيم في نص الطلب. يسرد الجدول التالي هذه الطرق بالإضافة إلى الخصائص المطلوبة أو القابلة للتعديل.
ملاحظة: قد تتضمّن مستندات الطرق الأخرى السمات المطلوبة والقابلة للتعديل.
الطريقة أماكن إقامة activities.insert
السمات المطلوبة: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
السمات المطلوبة: id
playlistItems.update
السمات المطلوبة: id
videos.update
السمات المطلوبة: id
-
لم تعُد واجهة برمجة التطبيقات تعرض رسالة الخطأ
playlistAlreadyExists
إذا حاولت إنشاء أو تعديل قائمة تشغيل يجب أن يتطابق عنوانها مع قائمة تشغيل حالية على القناة نفسها. -
هناك عدة طرق لواجهة برمجة التطبيقات تتيح استخدام أنواع جديدة من الأخطاء. ويحدِّد الجدول أدناه الطريقة والأخطاء المتوافقة حديثًا:
الطريقة نوع الخطأ تفاصيل الخطأ الوصف guideCategories.list
notFound
notFound
يتعذّر العثور على فئة الدليل التي حدّدتها المعلَمة id
. استخدِم الإجراء guideCategories.list لاسترداد قائمة بالقيم الصالحة.playlistItems.delete
forbidden
playlistItemsNotAccessible
الطلب غير مصرح له بحذف عنصر قائمة التشغيل المحدد بشكل صحيح. videoCategories.list
notFound
videoCategoryNotFound
يتعذّر العثور على فئة الفيديو التي حدّدتها المعلَمة id
. استخدِم الطريقة videoCategories.list لاسترداد قائمة بالقيم الصالحة.