تعرض هذه الصفحة التغييرات التي طرأت على YouTube Data API (الإصدار 3) والتعديلات التي تم إجراؤها على المستندات. الاشتراك في سجلّ التغييرات هذا
30 أكتوبر 2024
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد الفيديوهات التي تتضمّن محتوًى معدَّلاً أو اصطناعيًا (A/S) يبدو واقعيًا. اطّلِع على مزيد من المعلومات حول سياسات YouTube المتعلّقة بمحتوى A/S.
تشمل أمثلة المحتوى الذي يتضمن إعلانات أثناء التشغيل ما يلي:
- أن يظهر فيه شخص حقيقي يبدو وكأنّه يقول كلامًا لم يقله أو ينفّذ نشاطًا لم ينفّذه حقيقةً
- يتضمّن لقطات معدَّلة لحدث أو مكان حقيقيَّين
- يتضمّن مشهدًا يبدو حقيقيًا ولكنّه لم يحدث فعلاً
للإشارة إلى ما إذا كان الفيديو يتضمّن محتوى A/S، اضبط السمة
status.containsSyntheticMedia
. يمكن ضبط هذه السمة عند استدعاء الطرق
videos.insert
أو
videos.update
. وفي حال ضبطها،
سيتم عرضها في
المورد video
.
30 أبريل 2024
ملاحظة: هذا إشعار عن الإيقاف النهائي.
يتضمّن هذا التحديث التغييرات التالية:
لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج مناقشات حول القناة أو استردادها. يتوافق هذا التغيير مع الوظائف المتاحة على موقع YouTube الإلكتروني، والتي لا تتيح نشر التعليقات على القنوات.
13 مارس 2024
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
يتضمّن هذا التحديث التغييرات التالية:
تم إيقاف استخدام المَعلمة sync
في الطريقتَين
captions.insert
و
captions.update
. ستتوقّف منصة YouTube عن إتاحة المَعلمة ابتداءً من 12 أبريل 2024.
نتيجةً لهذا التغيير، على المطوّرين تضمين معلومات التوقيت عند إدراج مقاطع الترجمة والشرح أو تعديلها، وإلا سيتعذّر تحميل الفيديو.
12 آذار (مارس) 2024
يتضمّن هذا التحديث التغييرات التالية:
تم تعديل مستندات مورد captions
للإشارة إلى أنّ الحد الأقصى المسموح به لطول حقل snippet.name
هو 150 حرفًا. تعرِض واجهة برمجة التطبيقات خطأ nameTooLong
إذا كان اسم المقطع الصوتي أطول من ذلك.
7 مارس 2024
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
تم إيقاف سمة المورد channel
brandingSettings.channel.moderateComments
نهائيًا. ستتوقّف YouTube
عن إتاحة المَعلمة اعتبارًا من 7 مارس 2024.
31 يناير 2024
يتضمّن هذا التحديث التغييرات التالية:
تتيح لك مَعلمة forHandle
الجديدة الخاصة بطريقة channels.list
استرداد معلومات حول قناة من خلال تحديد اسمها المعرِّف على YouTube.
9 تشرين الثاني (نوفمبر) 2023
تمت إزالة جميع المراجع الخاصة بمورد "videoId
" ضمن Comments
لأنّه لا يتم عرض المورد videoId
باستخدام طلب بيانات من واجهة برمجة التطبيقات.
12 أيلول (سبتمبر) 2023
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تم إيقاف استخدام الطريقة comments.markAsSpam
نهائيًا منذ عدة سنوات. هذه الطريقة غير متاحة على YouTube، ولم تعُد متاحة
من خلال واجهة برمجة التطبيقات.
تمت إضافة إشعار بالإيقاف إلى جميع المستندات التي تشير إلى طريقة comments.markAsSpam
.
22 آب (أغسطس) 2023
أصبحت الطريقة search.list
متوافقة الآن مع
المَعلمة videoPaidProductPlacement
. تتيح لك هذه المَعلمة فلترة نتائج البحث لتضمين الفيديوهات التي أشار صانع المحتوى
إلى أنّها تتضمّن إعلانًا ترويجيًا مدفوعًا فقط.
18 آب (أغسطس) 2023
تم تعديل تعريف السمة liveStreamingDetails.concurrentViewers
الخاصة بمورد video
للإشارة إلى أنّ أعداد المشاهدين المتزامنين التي تعرضها واجهة YouTube Data API قد تختلف عن أعداد المشاهدين المتزامنين التي تمت معالجتها وإزالة المحتوى غير المرغوب فيه والمتاحة في "إحصاءات YouTube". يمكنك الانتقال إلى مركز مساعدة YouTube للحصول على مزيد من المعلومات حول مقاييس البث المباشر.
7 آب (أغسطس) 2023
وفقًا لما أعلنّاه في 12 حزيران (يونيو) 2023، تم إيقاف المَعلمة
relatedToVideoId
في الأسلوب
search.list
نهائيًا. لم تعُد هذه المَعلمة متوفرة
، وتمّت إزالة الإشارات إليها من مستندات واجهة برمجة التطبيقات.
28 حزيران (يونيو) 2023
يمكن الآن استخدام طريقة thumbnails.set لعرض الخطأ uploadRateLimitExceeded
، ما يشير إلى أنّ القناة حمّلت عددًا كبيرًا جدًا من الصور المصغّرة خلال آخر 24 ساعة ويجب إعادة المحاولة لاحقًا.
12 حزيران (يونيو) 2023
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
تم إيقاف استخدام المَعلمة relatedToVideoId
في الطريقة search.list. ستتوقّف منصة YouTube عن إتاحة المَعلمة ابتداءً من 7 آب (أغسطس) 2023.
في الوقت الحالي، تمت إضافة إشعار بالإيقاف النهائي إلى المستندات الخاصة بطريقة search.list
. ستتم إزالة هذه المَعلمة بالكامل من مستندات search.list
في 7 آب (أغسطس) 2023 أو بعد هذا التاريخ.
بالإضافة إلى ذلك، تمت إزالة مثال يوضّح كيفية استرجاع الفيديوهات ذات الصلة من دليل تنفيذ واجهة برمجة التطبيقات.
22 أغسطس 2022
تعليقات توضيحية للنوع المصحَّح لحقول video.statistics إلى سلسلة من طويلة غير موقَّعة.
5 آب (أغسطس) 2022
غيّرت YouTube طريقة إنشاء معرّفات مقاطع الترجمة والشرح، وكجزء من هذا التغيير، يتم
منح معرّفات جديدة لجميع مسارات الترجمة والشرح. قد يكون هذا التغيير تغييرًا غير متوافق مع الأنظمة القديمة للتطبيقات التي تخزّن
قيم caption_id
، إلا أنّه لن
يؤثر في التطبيقات التي لا تخزِّن
قيم caption_id
.
من الآن وحتى 1 كانون الأول (ديسمبر) 2022، ستتيح طريقة
captions.list
وcaptions.update
وcaptions.download
وcaptions.delete
معرّفات مسارات الترجمة القديمة والجديدة. ومع ذلك، اعتبارًا من 1 كانون الأول (ديسمبر) 2022 أو بعده، ستوقف منصة YouTube
استخدام أرقام تعريف مسارات الترجمة والشرح القديمة. في الوقت الحالي، سيؤدي طلب أي طريقة من طرق واجهة برمجة التطبيقات هذه باستخدام رقم تعريف قديم لمسار الترجمة إلى حدوث خطأ captionNotFound
.
للاستعداد لهذا التغيير، يجب التخطيط لاستبدال جميع بيانات مسارات الترجمة المخزّنة بالكامل
من الآن وحتى 1 كانون الأول (ديسمبر) 2022. وهذا يعني أنّه بالنسبة إلى أي فيديو تخزِّن فيه بيانات ملف الترجمة والشرح، عليك حذف البيانات المخزّنة حاليًا، ثمّ استدعاء captions.list
لعرض المجموعة الحالية من ملفات الترجمة والشرح للفيديو وتخزين البيانات في استجابة واجهة برمجة التطبيقات كما هو الحال في العادة.
12 تموز (يوليو) 2022
تم تعديل بنود الخدمة الخاصة بخدمات YouTube API. يُرجى الاطّلاع على بنود الخدمة في خدمات YouTube API - سجلّ المراجعات للحصول على مزيد من المعلومات.
27 نيسان (أبريل) 2022
تم تعديل وصف طريقة videos.insert
للإشارة إلى أنّ الحد الأقصى لحجم الملفات التي يمكن تحميلها من الفيديوهات قد زاد من 128 غيغابايت إلى 256 غيغابايت.
8 نيسان (أبريل) 2022
تم تعديل كل من تعريفَي المعلمتَين myRecentSubscribers
وmySubscribers
الخاصتَين بطريقة subscriptions.list
للإشارة إلى أنّ الحد الأقصى لعدد المشتركين الذي تعرضه واجهة برمجة التطبيقات قد يكون محدودًا.
يمثّل هذا التغيير تصحيحًا في المستندات وليس تغييرًا في سلوك واجهة برمجة التطبيقات.
15 كانون الأول (ديسمبر) 2021
كما أعلنّا في 18 تشرين الثاني (نوفمبر) 2021، وبالتزامن مع
التغييرات التي نجريها على خصوصية عدد النقرات على الزر "لم يعجبني"
على منصة YouTube بأكملها، تم تغيير إعدادات خصوصية موقع
statistics.dislikeCount
الخاص بالمورد video
ليصبح خاصًا.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في مدوّنة YouTube الرسمية.
18 تشرين الثاني (نوفمبر) 2021
بموجب التغييرات التي نجريها على
ضبط إعدادات عدد النقرات على الزر "لم يعجبني" على مستوى منصة YouTube بأكملها، سيتم تغيير إعدادات خصوصية السمة
statistics.dislikeCount
الخاصة بـ video
لتصبح خاصة اعتبارًا من 13 كانون الأول (ديسمبر) 2021. وهذا يعني أنّه لن يتم تضمين السمة
في استجابة واجهة برمجة التطبيقات من نقطة نهاية videos.list
إلا إذا تم إثبات هوية مالك الفيديو
في طلب واجهة برمجة التطبيقات.
لن تتأثر نقطة النهاية videos.rate
بهذا التغيير.
إذا كان المطوّرون لا يعرضون عدد غير المعجبين علنًا ولكنّهم بحاجة إلى إظهار عدد غير المعجبين لعميل واجهة برمجة التطبيقات الخاص بهم، يمكنهم تقديم طلب لإدراجهم في قائمة مسموح بها للإعفاء الضريبي. لتقديم طلب للحصول على إعفاء، عليك preenchimento preenchimento نموذج الطلب.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في مدونة YouTube الرسمية.
2 تموز (يوليو) 2021
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
تم إيقاف نقطة نهاية commentThreads.update
نهائيًا ولم تعُد متاحة.
تتوفّر وظيفة مكرّرة لنقطة النهاية هذه من خلال نقاط نهاية أخرى لواجهة برمجة التطبيقات. بدلاً من ذلك، يمكنك
الاتصال على comments.update
commentThreads
، يمكنك إجراء طلب ثانوي لطريقة commentThreads.list
.
1 تموز (يوليو) 2021
على جميع المطوّرين الذين يستخدمون "خدمات واجهة برمجة التطبيقات" في YouTube إكمال عملية "التدقيق في الامتثال لواجهة برمجة التطبيقات" ليتم منحهم أكثر من الحصة التلقائية التي تبلغ 10,000 وحدة. حتى الآن، كان المطوّرون يملؤون نموذج التدقيق وطلب زيادة الحصة في خدمات YouTube API ويرسلونه لإجراء عملية تدقيق في مدى الامتثال للسياسات وطلبات الحصول على وحدات حصص إضافية.
لتوضيح هذه العمليات وتلبية احتياجات المطوّرين الذين يستخدمون "خدمات واجهة برمجة التطبيقات" بشكل أفضل، سنضيف ثلاثة نماذج جديدة ودليلاً لإكمال هذه النماذج:
- نموذج طلبات المطوِّرين المدققين: يمكن للمطوّرين الذين اجتازوا عملية التدقيق في مدى الامتثال لواجهة برمجة التطبيقات هذا ملء هذا النموذج الأقصر وإرساله لطلب تمديد الحصة المخصَّصة.
- نموذج طلب إعادة النظر: يمكن للمطوّرين الذين تعذّر عليهم اجتياز عملية تدقيق في مدى الامتثال لمشاريع واجهات برمجة التطبيقات (أو تم رفض زيادة حصة وحداتهم) ملء هذا النموذج وإرساله.
- تغيير نموذج التحكّم: على المطوّرين أو أي طرف يعمل على عميل واجهة برمجة التطبيقات نيابةً عن المطوّر ملء هذا النموذج وإرساله، وذلك من خلال شراء أسهم أو بيعها أو دمج أو غير ذلك من أشكال المعاملات المؤسسية (على سبيل المثال، من خلال شراء أسهم أو بيعها). يتيح ذلك لفريق واجهة برمجة التطبيقات في YouTube تعديل سجلاتنا وتدقيق امتثال حالات استخدام مشروع واجهة برمجة التطبيقات الجديد والتحقّق من تخصيص الحصة الحالية للمطوّر.
سيعلمنا كل نموذج جديد بقصدك من استخدام واجهة برمجة تطبيقات YouTube وسنساعدك بشكل أفضل.
يمكنك الاطّلاع على مزيد من التفاصيل في دليل عمليات التدقيق في الامتثال لواجهة برمجة التطبيقات الجديد.
12 أيار (مايو) 2021
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
يتناول هذا التعديل التغييرات التالية في واجهات برمجة التطبيقات:
-
تم إيقاف سمة
contentDetails.relatedPlaylists.favorites
في المرجعchannel
نهائيًا. تم إيقاف ميزة الفيديوهات المفضّلة نهائيًا منذ عدة سنوات، كما هو موضّح في إدخال سجلّ المراجعات بتاريخ 28 نيسان (أبريل) 2016.قبل هذا التعديل، كانت واجهة برمجة التطبيقات كانت تنشئ قائمة تشغيل جديدة إذا حاول عميل واجهة برمجة التطبيقات إضافة فيديو إلى قائمة تشغيل غير متوفّرة في القائمة المفضّلة. من الآن فصاعدًا، لن يتم إنشاء قائمة التشغيل في هذه الحالة وستُظهر واجهة برمجة التطبيقات رسالة خطأ. سيتم أيضًا إيقاف محاولات تعديل قوائم التشغيل المفضّلة عن طريق إضافة عناصر أو تعديلها أو حذفها نهائيًا وفقًا للإشعارات السابقة، وقد تبدأ في عرض أخطاء في أي وقت.
-
تم إيقاف سمات موارد
channel
التالية نهائيًا: وهذه السمات غير متاحة حاليًا في واجهة مستخدم "استوديو YouTube" وعلى YouTube. نتيجةً لذلك، لم تعُد هذه الميزة متاحة أيضًا من خلال واجهة برمجة التطبيقات.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
تمت إزالة جميع السمات من تمثيل مورد
channel
، وتمت إزالة تعريفاتها من قائمة السمات الخاصة بالمصدر. بالإضافة إلى ذلك، تمت إزالة الأخطاء المرتبطة بهذه السمات من المستندات الخاصة بالأسلوب. -
تم إيقاف سمات
channelSection
التالية الخاصة بالموارد نهائيًا. وهذه السمات غير متاحة حاليًا في واجهة مستخدم "استوديو YouTube" وعلى YouTube. نتيجةً لذلك، لم يعد بإمكانك استخدامها عبر واجهة برمجة التطبيقات.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
وبالتزامن مع هذا التغيير، تم أيضًا إيقاف المَعلمة
hl
الخاصة بطريقةchannelSection.list
نهائيًا بسبب عدم توافقها مع الميزات.تمت إزالة جميع السمات من تمثيل مورد
channelSection
، وتمت إزالة تعريفاتها من قائمة السمات الخاصة بالمصدر. بالإضافة إلى ذلك، تمت إزالة الأخطاء المرتبطة بهذه السمات من المستندات الخاصة بالأسلوب. -
بالنسبة إلى سمة
snippet.type
في موردchannelSection
، تم إيقاف القيم التالية نهائيًا. هذه القيم غير متاحة حاليًا على صفحات القنوات في YouTube ، وبالتالي لم تعُد متاحة أيضًا من خلال واجهة برمجة التطبيقات.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
تم إيقاف السمة
snippet.tags[]
الخاصة بالموردplaylist
نهائيًا. سبق أن لم يعُد هذا الموقع متوافقًا على YouTube، وبالتالي لم يعُد متوافقًا مع واجهة برمجة التطبيقات.
9 شباط (فبراير) 2021
يتيح مورد playlistItem
سمتَين جديدتَين:
- تحدّد السمة
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
تمت إضافة قسمَين جديدَين إلى سياسات المطوّرين:
- تقدّم الفقرة 3.E.4.i الجديدة معلومات إضافية عن البيانات التي يتم جمعها وإرسالها من خلال مشغّل YouTube المضمّن. أنت تتحمّل مسؤولية أي بيانات مستخدِم ترسلها إلينا من خلال أي مشغّل مضمّن على YouTube قبل أن يتفاعل المستخدِم مع المشغّل للإشارة إلى نية التشغيل. يمكنك الحد من البيانات التي تتم مشاركتها مع YouTube قبل أن يتفاعل المستخدم مع المشغّل من خلال ضبط التشغيل التلقائي على false.
- يتعلق القسم الجديد 3.E.4.j بالتحقّق من حالة المحتوى المخصّص للأطفال قبل تضمينه على مواقعك الإلكترونية وتطبيقاتك. أنت المسؤول عن معرفة ما إذا كانت الفيديوهات التي تضمّنها في برنامج "عميل واجهة برمجة التطبيقات" مخصّصة للأطفال ومعالجة البيانات التي يتم جمعها من المشغّل المضمّن وفقًا لذلك. وبناءً على ذلك، يجب التحقّق من حالة المحتوى باستخدام خدمة YouTube Data API قبل تضمينه في برنامج API من خلال أيّ مشغّلات مضمّنة في YouTube.
يشرح الدليل الجديد العثور على حالة MadeForKids لفيديو كيفية البحث عن حالة "محتوى مخصّص للأطفال" في فيديو باستخدام خدمة YouTube Data API.
وإلى جانب هذه التغييرات، تمت إضافة تذكير إلى المواد المتعلقة بمعلَمات المشغّل المضمّن لتوضيح أنّه في حال تفعيل ميزة "التشغيل التلقائي"، سيتم تشغيل المحتوى بدون أي تفاعل مع المشغّل. وبالتالي، سيتم جمع بيانات التشغيل ومشاركتها عند تحميل الصفحة.
8 تشرين الأول (أكتوبر) 2020
يتناول هذا التعديل ثلاثة تغييرات صغيرة مرتبطة بمصدر
channel
:
- إنّ العنصر
snippet.thumbnails
الذي يحدّد الصور المصغّرة للقناة قد يكون فارغًا للقنوات التي تم إنشاؤها حديثًا، وقد تستغرق عملية تعبئته مدة تصل إلى يوم واحد. - وتعكس السمة
statistics.videoCount
عدد الفيديوهات العلنية على القناة فقط، حتى للمالكين. وهذا السلوك متوافق مع الأعداد المعروضة على موقع YouTube الإلكتروني. - قد يتم اقتطاع الكلمات الرئيسية للقنوات التي يتم تحديدها في موقع الويب
brandingSettings.channel.keywords
إذا تجاوزت الحد الأقصى المسموح به الذي يبلغ 500 حرف أو إذا كانت تحتوي على علامات اقتباس غير مشفّرة ("
). يُرجى العِلم أنّ الحد الأقصى المسموح به وهو 500 حرف ليس حدًا لكلّ كلمة رئيسية، بل هو حدّ على إجمالي طول كلّ الكلمات الرئيسية. وهذا السلوك متوافق مع السلوك نفسه على موقع YouTube الإلكتروني.
9 أيلول (سبتمبر) 2020
ملاحظة: هذا إشعار عن الإيقاف النهائي.
يشمل هذا التعديل التغييرات التالية على واجهة برمجة التطبيقات. ستسري جميع التغييرات اعتبارًا من 9 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ، وهو تاريخ هذا الإشعار. من هذا المنطلق، يجب ألا يعتمد المطوّرون بعد الآن على أي من ميزات واجهة برمجة التطبيقات الواردة أدناه.
-
إنّ الموارد والطرق والمعلَمات وخصائص الموارد التالية من واجهة برمجة التطبيقات سيتم إيقافها نهائيًا على الفور وستتوقف عن العمل في تاريخ هذا الإشعار أو بعده:
- سمات موارد
channel
التالية :- السمة
statistics.commentCount
- الكائن
brandingSettings.image
وكل خصائصه الفرعية - القائمة
brandingSettings.hints
وجميع مواقعها الفرعية
- السمة
- مَعلمة الفلتر
categoryId
channels.list
في الطريقةchannels.list
- المورد
guideCategories
وطريقةguideCategories.list
- سمات موارد
-
لم تعُد استجابات واجهة برمجة التطبيقات للطريقة
channels.list
تحتوي على السمةprevPageToken
إذا كان طلب البيانات من واجهة برمجة التطبيقات يضبط معلَمةmanagedByMe
علىtrue
. لا يؤثر هذا التغيير في السمةprevPageToken
لطلباتchannels.list
الأخرى، ولا يؤثّر في السمةnextPageToken
لأي طلبات. -
تم الإعلان عن إيقاف سمتَي
contentDetails.relatedPlaylists.watchLater
وcontentDetails.relatedPlaylists.watchHistory
في موردchannel
نهائيًا في 11 آب (أغسطس) 2016. تم أيضًا إيقاف استخدامplaylistItems.insert
وplaylistItems.delete
نهائيًا في قوائم التشغيل هذه، وتمّت إزالة السمتَين من المستندات. -
وتمت إزالة معلَمة
mySubscribers
الخاصة بطريقةchannels.list
من المستندات، وتمّ الإعلان عن إيقافها في 30 تموز (يوليو) 2013. استخدِم الأسلوبsubscriptions.list
والمَعلمةmySubscribers
لاسترداد قائمة بالمشتركين في قناة المستخدم الذي تمّت مصادقته. -
لقد تمت إزالة الكائن
invideoPromotion
في موردchannel
وجميع سماته الفرعية من المستندات، والتي تم الإعلان عنها في 27 تشرين الثاني (نوفمبر) 2017.
29 تموز (يوليو) 2020
لقد سهّلنا عملية تحصيل الحصة لطلبات البيانات من واجهة برمجة التطبيقات عن طريق إزالة التكلفة
الإضافية المرتبطة بالمَعلمة part
. وسنحصّل فقط التكلفة الأساسية مقابل الطريقة التي يتم طلبها. يمكنك الاطّلاع على مزيد من المعلومات حول الحصة المبسّطة
هنا.
يتمثّل تأثير هذا التغيير في أنّ معظم طلبات البيانات من واجهة برمجة التطبيقات ستكون لها تكلفة حصة أقل بشكل طفيف، في حين ستظلّ تكلفة بعض طلبات البيانات من واجهة برمجة التطبيقات نفسها. لا يؤدي هذا التغيير إلى زيادة تكلفة أي طلبات بيانات من واجهة برمجة التطبيقات . بشكل عام، من المحتمَل أن يؤثر ذلك بشكل أكبر في حصّتك المخصّصة، التي يمكن الاطّلاع عليها في Google Cloud Console.
ننصح جميع المطوّرين بإكمال التدقيق في مدى الامتثال لمشاريعهم لضمان إمكانية الوصول المستمر إلى خدمات YouTube API.
تم نشر إدخال سجلّ النُسخ السابقة في الأصل في 20 تموز (يوليو) 2020.
28 تموز (يوليو) 2020
سيتم قصر جميع الفيديوهات التي تم تحميلها من خلال نقطة النهاية videos.insert
من مشاريع واجهة برمجة التطبيقات التي لم يتم التحقق منها والتي تم إنشاؤها بعد 28 تموز (يوليو) 2020
على وضع العرض الخاص. لإزالة هذا القيد، يجب أن يخضع كل مشروع
لتدقيق للتحقّق من
الامتثال
لبنود الخدمة.
عندما يستخدم صنّاع المحتوى برنامجًا لواجهة برمجة التطبيقات لم يتم التحقّق منه، سيتم إرسال رسالة إلكترونية إليهم لإعلامهم بأنّ الفيديو الخاص بهم أصبح خاصًا وأنّه يمكنهم تجنُّب القيود باستخدام برنامج رسمي أو برنامج تم تدقيقه.
إنّ مشاريع واجهات برمجة التطبيقات التي تم إنشاؤها قبل 28 تموز (يوليو) 2020 لا تتأثر حاليًا بهذا التغيير. ومع ذلك، ننصح جميع المطوّرين بإكمال عملية التدقيق في مدى الامتثال لمشاريعهم لضمان إمكانية الوصول المستمر إلى خدمات YouTube API.
21 تموز (يوليو) 2020
[تم تعديل هذه المقالة في 28 تموز (يوليو) 2020.] تمت إعادة نشر تعديل المستندات المُشار إليه في إدخال سجلّ التعديلات هذا في 28 تموز (يوليو) 2020.
نشرنا بالأمس تعديلاً على المستندات حول العملية التي نتّبعها لتحصيل رسوم الحصة. ومع ذلك، بسبب ظروف غير متوقّعة، لم يتمّ تطبيق تغيير الحصة بعد. ونتيجةً لذلك، تمّت إعادة المستندات من أجل الحفاظ على الدقة. لتجنُّب حدوث التباس، تمت إزالة إدخال سجلّ النُسخ السابقة الذي يوضّح التغيير، وسيتم إعادة نشره في المستقبل القريب.
7 تموز (يوليو) 2020
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
تم الآن إيقاف المعلَمتَين autoLevels
وstabilize
المرتبطتَين بطريقة videos.insert
نهائيًا، وتمت إزالة كلتا المَعلمتَين من المستندات. ويتم تجاهل هذه القيم ولا تؤثر في
طريقة معالجة الفيديوهات التي تم تحميلها مؤخرًا.
15 حزيران (يونيو) 2020
يقدّم دليل الالتزام بسياسات المطوّرين في YouTube إرشادات وأمثلة لمساعدتك في التأكّد من أنّ عملاء واجهات برمجة التطبيقات الذين يستخدمون واجهات برمجة التطبيقات يطبّقون أجزاءً معيّنة من بنود خدمات YouTube API وسياساتها (بنود خدمة واجهات برمجة التطبيقات).
تقدّم هذه الإرشادات إحصاءات عن كيفية فرض YouTube لبعض جوانب اتّفاقية خدمة واجهة برمجة التطبيقات، ولكنها لا تحلّ محل أي مستندات حالية. يتناول الدليل بعض الأسئلة الأكثر شيوعًا التي يطرحها المطوّرون أثناء عمليات تدقيق الامتثال لواجهات برمجة التطبيقات. نأمل أن يساعدك هذا الدليل في تبسيط عملية تطوير الميزات من خلال مساعدتك في فهم كيفية تفسيرنا لسياساتنا وتطبيقها.
4 حزيران (يونيو) 2020
ملاحظة: هذا تعديل على إشعار سابق بشأن الإيقاف النهائي.
لقد أوقفنا ميزة "نشرة القناة" بالكامل الآن. تم الإعلان عن هذا التغيير في البداية
في 17 نيسان (أبريل) 2020، وقد بدأ تطبيقه الآن. ونتيجةً لذلك،
لم تعُد الطريقة activities.insert
متاحة ولم تعُد
الطريقة activities.list
تعرض نشرات القنوات. لمزيد من التفاصيل، يُرجى الانتقال إلى
مركز مساعدة YouTube.
17 نيسان (أبريل) 2020
ملاحظة: هذا إشعار عن الإيقاف النهائي.
ستتوقف ميزة نشر نشرات على القناة نهائيًا في YouTube. نتيجةً لذلك، سيتم إيقاف activities.insert
نهائيًا، ولن تعرض activities.list
نشرات القناة. ستسري هذه التغييرات في واجهة برمجة التطبيقات في 18 أيار (مايو) 2020 أو بعد هذا التاريخ. لمزيد من التفاصيل، يُرجى الانتقال إلى
مركز مساعدة YouTube.
31 آذار (مارس) 2020
يتضمّن هذا التحديث التغييرات التالية:
-
مراجع وطُرق جديدة
-
يمثّل المرجع الجديد
member
مشتركًا داعمًا في قناة على YouTube. يقدّم العضو دعمًا ماليًا متكرّرًا لصانع المحتوى ويحصل على مزايا خاصة. على سبيل المثال، يمكن للأعضاء الدردشة عندما يفعّل صانع المحتوى وضع "الأعضاء فقط" في محادثة.يحلّ هذا المرجع محلّ المرجع
sponsor
الذي تمّت توثيقه كجزء من YouTube Live Streaming API. تم إيقاف موردsponsor
نهائيًا، وعلى عملاء واجهة برمجة التطبيقات تعديل طلبات البيانات المُرسَلة إلىsponsors.list
لبدء استخدامmembers.list
بدلاً من ذلك. -
يحدّد المورد
membershipsLevel
الجديد مستوى أسعار يديره صانع المحتوى الذي سمح بطلب البيانات من واجهة برمجة التطبيقات. تسترد الطريقةmembershipsLevels.list
قائمة بجميع مستويات عضوية صانع المحتوى.
-
10 كانون الثاني (يناير) 2020
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد المحتوى الموجّه إلى الأطفال والذي يطلق عليه YouTube اسم "المخصّص للأطفال". يمكنك الاطّلاع على مزيد من المعلومات حول المحتوى "المخصّص للأطفال" في "مركز مساعدة YouTube".
ويتضمّن الموردان channel
وvideo
سمتَين جديدتَين تتيحان لصنّاع المحتوى والمشاهدين تحديد المحتوى المخصّص للأطفال:
-
تتيح السمة
selfDeclaredMadeForKids
لصنّاع المحتوى تحديد ما إذا كانت القناة أو الفيديو مخصّصَين للأطفال.
بالنسبة إلى القنوات، يمكن ضبط هذه السمة عند استدعاء طريقةchannels.update
. بالنسبة إلى الفيديوهات، يمكن ضبط هذه السمة عند استدعاء إحدى الطريقتَينvideos.insert
أوvideos.update
.
تجدر الإشارة إلى أنّ هذه السمة لا يتم تضمينها إلا في ردود واجهة برمجة التطبيقات التي تحتوي على مواردchannel
أوvideo
إذا فوّض مالك القناة طلب واجهة برمجة التطبيقات. -
تتيح السمة
madeForKids
لأي مستخدم استرداد حالة "مخصّص للأطفال" للقناة أو للفيديو. على سبيل المثال، قد يتم تحديد الحالة استنادًا إلى قيمة السمةselfDeclaredMadeForKids
. يمكنك الانتقال إلى مركز مساعدة YouTube للحصول على مزيد من المعلومات حول تحديد الجمهور المستهدف في قناتك أو فيديوهاتك أو عمليات البث الخاصة بك.
وعدّلنا أيضًا بنود الخدمة وسياسات مطوّري البرامج في YouTube API. يُرجى الاطّلاع على بنود الخدمة في خدمات YouTube API - سجلّ المراجعات للحصول على مزيد من المعلومات. ستصبح التغييرات في "بنود خدمات واجهات برمجة تطبيقات YouTube" و"سياسات المطوّرين" سارية المفعول في 10 كانون الثاني (يناير) 2020 بتوقيت المحيط الهادئ.
10 أيلول (سبتمبر) 2019
تم تعديل المستندات المرجعية لواجهة برمجة التطبيقات لتعكس التغيير الذي أجريناه على طريقة عرض عدد المشتركين
على YouTube، وبالتالي في ردود واجهة برمجة التطبيقات. نتيجةً لذلك التغيير،
يتم تقريب أعداد المشتركين التي تعرضها خدمة YouTube Data API إلى ثلاثة أرقام مهمة
إذا كانت أكبر من 1,000 مشترك. يؤثر هذا التغيير في سمة
statistics.subscriberCount
في مورد
channel
.
ملاحظة: يؤثّر هذا التغيير في قيمة هذه السمة حتى في الحالات التي يرسل فيها المستخدم طلبًا مصرّحًا به للحصول على بيانات عن قناته الخاصة. سيبقى بإمكان مالكي القنوات الاطّلاع على العدد الدقيق للمشتركين في "استوديو YouTube".
على سبيل المثال، إذا كانت القناة تضم 123,456 مشتركًا، ستتضمّن
السمة statistics.subscriberCount
القيمة 123000
.
يعرض الجدول أدناه أمثلة على طريقة تقريب أعداد المشتركين في الردود من واجهة برمجة التطبيقات واختصارها في واجهات مستخدم أخرى ظاهرة للجميع على YouTube:
مثال على عدد المشتركين | YouTube Data API | واجهات مستخدم YouTube المرئية للجميع |
---|---|---|
1234 | 1230 | 1.23 ألف |
12,345 | 12300 | 12.3 ألف |
123,456 | 123000 | 123 ألف |
1,234,567 | 1230000 | 1.23 مليون |
12,345,678 | 12300000 | 12.3 مليون |
123,456,789 | 123000000 | 123 مليون |
4 نيسان (أبريل) 2019
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل المستندات المرجعية لواجهات برمجة التطبيقات لشرح حالات الاستخدام الشائعة لكل طريقة بشكل أفضل وتقديم نماذج رموز برمجية ديناميكية وعالية الجودة من خلال تطبيق "مستكشف واجهات برمجة التطبيقات". للحصول على مثال، يمكنك الاطّلاع على مستندات طريقة
channels.list
. هناك الآن عنصران جديدان في الصفحات تصف طرق واجهة برمجة التطبيقات:-
تتيح لك أداة "مستكشف واجهات برمجة التطبيقات" إمكانية تحديد نطاقات الأذونات، وإدخال نموذج للمعلَمات وقيم المواقع، ثم إرسال طلبات فعلية من واجهة برمجة التطبيقات والاطّلاع على الردود الفعلية من واجهة برمجة التطبيقات. توفر الأداة أيضًا طريقة عرض بملء الشاشة تُظهر نماذج التعليمات البرمجية الكاملة، والتي يتم تحديثها ديناميكيًا لاستخدام النطاقات والقيم التي أدخلتها.
-
يوضّح قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الطريقة
channels.list
لاسترداد بيانات عن قناة معيّنة أو لاسترداد بيانات عن قناة المستخدم الحالي.ويمكنك استخدام الروابط في هذا القسم لتعبئة مستكشف واجهات برمجة التطبيقات بنماذج قيم لحالة استخدامك أو لفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة مع تعبئة تلك القيم مسبقًا. وتهدف هذه التغييرات إلى تسهيل مشاهدة عيّنات التعليمات البرمجية التي تنطبق مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك.
تتوفّر عيّنات التعليمات البرمجية حاليًا للغة Java وJavaScript وPHP وPython وcurl.
-
-
تم أيضًا تحديث أداة عيّنات الرموز البرمجية باستخدام واجهة مستخدم جديدة توفّر جميع الميزات نفسها الموضّحة أعلاه. وباستخدام هذه الأداة، يمكنك استكشاف حالات استخدام لطرق مختلفة، وتحميل القيم في مستكشف واجهات برمجة التطبيقات، وفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة للحصول على عيّنات تعليمات برمجية بلغة Java وJavaScript وPHP وPython.
بالإضافة إلى ذلك، تمّت إزالة الصفحات التي كانت تعرض في السابق عيّنات التعليمات البرمجية المتاحة للغات Java وJavaScript وPHP وPython.
-
تم تعديل أدلة البدء السريع Java وJavaScript وPHP وPython. تشرح الأدلة المعدَّلة كيفية تشغيل نموذج باستخدام مفتاح واجهة برمجة التطبيقات ونموذج آخر باستخدام معرِّف عميل OAuth 2.0 باستخدام عيّنات تعليمات برمجية من "مستكشف واجهات برمجة التطبيقات".
تجدر الإشارة إلى أن التغييرات الموضحة أعلاه تحل محل أداة تفاعلية تمت إضافتها إلى وثائق واجهة برمجة التطبيقات في عام 2017.
9 تموز (يوليو) 2018
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل تعريف سمة
snippet.thumbnails
لموردchannel
للإشارة إلى أنّه عند عرض الصور المصغّرة في تطبيقك، يجب أن يستخدِم الرمز البرمجي عناوين URL للصور بالطريقة نفسها التي يتم بها عرضها في ردود واجهة برمجة التطبيقات. على سبيل المثال، يجب ألا يستخدم تطبيقك نطاقhttp
بدلاً من نطاقhttps
في عنوان URL يتم عرضه في استجابة واجهة برمجة التطبيقات.اعتبارًا من تموز (يوليو) 2018، لن تتوفّر عناوين URL للصور المصغّرة للقنوات إلا في نطاق
https
، وهو الشكل الذي تظهر به عناوين URL في ردود واجهة برمجة التطبيقات. وبعد ذلك الوقت، قد تظهر صور تالفة في تطبيقك إذا حاول تحميل صور YouTube من نطاقhttp
. -
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تم إيقاف السمة
recordingDetails.location.altitude
الخاصة بمورد "video
" نهائيًا. وليس هناك ما يضمن أن تعرض الفيديوهات قيمًا لهذا الموقع. وبالمثل، حتى إذا حاولت طلبات واجهة برمجة التطبيقات ضبط قيمة لهذا الموقع، من المحتمل ألا يتم تخزين البيانات الواردة.
22 حزيران (يونيو) 2018
تم تعديل دليل التنفيذ، الذي كان يُعرف سابقًا باسم دليل التنفيذ ونقل البيانات، لإزالة التعليمات الخاصة بنقل البيانات من v2 API إلى v3 API. بالإضافة إلى ذلك، تمت إزالة التعليمات الخاصة بالميزات التي تم إيقافها نهائيًا منذ ذلك الحين في v3 API، مثل الفيديوهات المفضّلة.
27 تشرين الثاني (نوفمبر) 2017
يتضمّن هذا التحديث التغييرات التالية:
-
ملاحظة: هذا إشعار عن الإيقاف النهائي.
ستزيل YouTube ميزتَي الفيديو المميّز والموقع الإلكتروني المميّز، اللتين تتوفّران في واجهة برمجة التطبيقات من خلال عنصر
invideoPromotion
لموردchannel
. نتيجةً لذلك، سيتم إيقاف هذا العنصر نهائيًا، بما في ذلك جميع السمات الفرعية له.سيظل بإمكانك استرداد بيانات
invideoPromotion
وضبطها حتى 14 كانون الأول (ديسمبر) 2017. بعد ذلك التاريخ:- إنّ محاولات استرداد جزء
invideoPromotion
عند الاتصال بـchannels.list
ستؤدي إلى عرضinvideoPromotion
فارغ أو لن تعرض أي بياناتinvideoPromotion
على الإطلاق. - ستؤدي محاولات تعديل بيانات
invideoPromotion
عند الاتصال بـchannels.update
إلى عرض استجابة ناجحة حتى 27 أيار (مايو) 2018 على الأقل، ولكن سيتم التعامل معها على أنّها عمليات غير مفعّلة، ما يعني أنّها لن تُجري تعديلًا فعليًا.
وبعد 27 أيار (مايو) 2018، قد تعرض هذه الطلبات رسائل خطأ للإشارة إلى أنّ
invalidPromotion
جزء غير صالح مثلاً. - إنّ محاولات استرداد جزء
16 تشرين الثاني (نوفمبر) 2017
يتضمّن هذا التحديث التغييرات التالية:
-
أصبحت أداة مقتطف الرمز التفاعلية متوافقة الآن مع عيّنات رمز Node.js. تظهر العيّنات أيضًا في مستندات جميع طرق واجهة برمجة التطبيقات تقريبًا، مثل طريقة
channels.list
.تم تصميم النماذج القابلة للتخصيص لمنحك نقطة بداية خاصة بحالة الاستخدام لتطبيق Node.js. تتشابه الوظيفة مع الرمز البرمجي في دليل البدء السريع في Node.js. ومع ذلك، تحتوي العيّنات على بعض دوالّ المرافق التي لا تظهر في الخطوات السريعة:
- تأخذ الدالة
removeEmptyParameters
قائمة بأزواج مفاتيح/قيم مقابلة لمَعلمات طلب واجهة برمجة التطبيقات وتزيل المَعلمات التي لا تحتوي على قيم. - تأخذ الدالة
createResource
قائمة بأزواج مفاتيح وقيم تتوافق مع السمات في مورد واجهة برمجة التطبيقات. وبعد ذلك، تحوِّل السمات إلى كائن JSON يمكن استخدامه في عمليتَيinsert
وupdate
. يوضح المثال التالي مجموعة من أسماء السمات وقيمها وكائنات JSON التي سينشئها الرمز لها:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
كل هذه النماذج مصممة للتنزيل وتشغيلها محليًا. لمزيد من المعلومات، اطّلِع على المتطلبات الأساسية لتشغيل عيّنات الرمز الكامل على الجهاز في تعليمات أداة مقتطفات الرموز.
- تأخذ الدالة
25 تشرين الأول (أكتوبر) 2017
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل نماذج رموز Python في أداة مقتطف الرمز التفاعلية لاستخدام مكتبتي
google-auth
وgoogle-auth-oauthlib
بدلاً من مكتبةoauth2client
التي تم إيقافها نهائيًا الآن.بالإضافة إلى هذا التغيير، توفر الأداة الآن نماذج كاملة من التعليمات البرمجية لتطبيقات بايثون المثبَّتة وتطبيقات خادم الويب بلغة بايثون، والتي تستخدم تدفقات تفويض مختلفة قليلاً. للاطّلاع على العيّنات الكاملة (وهذا التغيير):
- انتقِل إلى أداة مقتطف الرمز التفاعلي أو إلى مستندات أيّ طريقة لواجهة برمجة التطبيقات، مثل الطريقة
channels.list
. - انقر على علامة التبويب
Python
فوق عيّنات الرموز. - انقر على مفتاح التبديل أعلى علامات التبويب للتبديل من عرض مقتطف إلى عيّنة كاملة.
- من المفترض أن تعرض علامة التبويب الآن نموذج رمز كامل يستخدم مسار تفويض
InstalledAppFlow
. يوضح الوصف أعلاه العيّنة ذلك ويتضمّن أيضًا رابطًا إلى نموذج لتطبيق خادم ويب. - انقر على الرابط للتبديل إلى مثال خادم الويب. يستخدم هذا العيّنة إطار عمل تطبيقات الويب Flask ومسارات تفويض مختلفة.
كل هذه النماذج مصممة للتنزيل وتشغيلها محليًا. إذا كنت ترغب في تشغيل النماذج، يُرجى الاطلاع على تعليمات تشغيل عيّنات التعليمات البرمجية الكاملة محليًا في تعليمات أداة مقتطف الرمز.
- انتقِل إلى أداة مقتطف الرمز التفاعلي أو إلى مستندات أيّ طريقة لواجهة برمجة التطبيقات، مثل الطريقة
29 آب (أغسطس) 2017
يتضمّن هذا التحديث التغييرات التالية:
- تم تعديل تعريف المَعلمة
forContentOwner
لطريقةsearch.list
للإشارة إلى أنّه إذا تم ضبط هذه المَعلمة علىtrue
، يجب ضبط المَعلمةtype
علىvideo
. - تم تعديل تعريف معلَمة
regionCode
الخاصة بطريقةsearch.list
لتوضيح أنّ المَعلمة تحصر نتائج البحث بالفيديوهات التي يمكن مشاهدتها في المنطقة المحدّدة. - عدّلت منصة YouTube شعارات علامتها التجارية ورموزها. يمكن تنزيل الشعارات الجديدة التي تحمل عبارة "تم تطويره باستخدام YouTube" من صفحة إرشادات استخدام العلامة التجارية. تظهر أيضًا شعارات ورموز YouTube الجديدة الأخرى على هذه الصفحة ويمكن تنزيلها من موقع علامة YouTube التجارية.
24 تموز (يوليو) 2017
يتضمّن هذا التحديث التغييرات التالية:
- يتوفر دليل البدء السريع الجديد لواجهة برمجة تطبيقات البيانات من YouTube لنظام التشغيل iOS. يشرح الدليل كيفية استخدام YouTube Data API في تطبيق iOS بسيط مكتوب بلغة Objective-C أو Swift.
- أصبحت أداة مقتطف الرمز التفاعلية الخاصة بواجهة YouTube Data API تشمل الآن محتوًى يشرح بعض ميزات الأداة:
- تنفيذ طلبات البيانات من واجهة برمجة التطبيقات
- التبديل بين مقتطفات الرمز وعيّنات التعليمات البرمجية الكاملة
- استخدام الدوالّ النموذجية
- تحميل المراجع الحالية (لطرق التعديل)
ملاحظة: هذه الأداة مضمّنة أيضًا في المستندات المرجعية لواجهة برمجة التطبيقات بشأن طرق واجهة برمجة التطبيقات (مثال).
1 يونيو 2017
يتضمّن هذا التحديث التغييرات التالية:
-
ملاحظة: هذا إشعار بإيقاف ميزة نهائيًا.
سيتم إيقاف سمات موارد
video
التالية نهائيًا. وعلى الرغم من أنّ هذه الخصائص ستكون متاحة حتى 1 كانون الأول (ديسمبر) 2017، ليس هناك ما يضمن أنّ الفيديوهات ستستمر في عرض قيم لهذه السمات حتى ذلك الوقت. وبالمثل، لن يؤدي طلبvideos.insert
وvideos.update
اللذان يحدّدان قيمتَي السمات هاتين إلى ظهور أخطاء قبل ذلك التاريخ، ولكن من المحتمل ألا يتم تخزين البيانات الواردة.
17 أيار (مايو) 2017
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل المستندات المرجعية لواجهات برمجة التطبيقات لجعل مقتطفات الرموز أكثر انتشارًا وتفاعلية. تتضمّن الآن الصفحات التي توضّح طرق واجهة برمجة التطبيقات، مثل
channels.list
أوvideos.rate
، أداة تفاعلية تتيح لك عرض مقتطفات الرموز البرمجية وتخصيصها بلغات Java وJavaScript وPHP وPython وRuby وApps Script وGo.بالنسبة إلى أيّ طريقة معيّنة، تعرض الأداة مقتطفات رمز برمجي لحالة استخدام واحدة أو أكثر، ويصف كلّ حالة استخدام طريقة شائعة لاستدعاء هذه الطريقة. على سبيل المثال، يمكنك استدعاء طريقة
channels.list
لاسترداد بيانات حول قناة معينة أو عن قناة المستخدم الحالي.يمكنك أيضًا التفاعل مع عيّنات الرموز البرمجية:
-
يمكنك تعديل قيم المَعلمات والسمات، وسيتم تعديل مقتطفات الرموز البرمجية ديناميكيًا لتعكس القيم التي تقدّمها.
-
التبديل بين مقتطفات الرمز والنماذج الكاملة يعرض مقتطف الرمز جزء الرمز الذي يستدعي طريقة واجهة برمجة التطبيقات. يتضمن النموذج الكامل هذا المقتطف بالإضافة إلى رمز نموذجي لتفويض الطلبات وإرسالها. يمكن نسخ العيّنات الكاملة وتشغيلها من سطر الأوامر أو خادم ويب محلي.
-
تنفيذ الطلبات بالنقر على زر (لتنفيذ الطلبات، يجب تفويض الأداة بطلب البيانات من واجهة برمجة التطبيقات نيابةً عنك).
يُرجى العِلم أنّ هذه الأداة قد حلّت محلّ "مستكشف واجهات برمجة التطبيقات" في الصفحات التي تتوفّر فيها. (تعرض كل صفحة رابطًا حتى يكون لديك أيضًا خيار تحميل الطلب الذي تعمل عليه في مستكشف واجهات برمجة التطبيقات).
-
-
تم أيضًا تعديل أداة مقتطفات رمز Data API باستخدام واجهة مستخدم جديدة توفّر جميع الميزات نفسها الموضّحة أعلاه. في ما يلي الميزات الرئيسية الجديدة والمتاحة في هذه الصفحة:
- إتاحة طلبات واجهة برمجة التطبيقات التي تكتب البيانات
- دعم نماذج Java.
- رمز نموذجي أكثر مرونة وشمولية لمنح المستخدمين الأذونات وإنشاء طلبات واجهة برمجة التطبيقات
27 نيسان (أبريل) 2017
يتضمّن هذا التحديث التغييرات التالية:
- تشرح أدلة البدء السريع الجديدة كيفية إعداد تطبيق بسيط لإجراء طلبات البيانات من YouTube Data API. تتوفّر الأدلّة حاليًا لتطبيقات Android وبرمجة التطبيقات وGo وJava وJavaScript وNode.js وPHP وPython وRuby.
30 مارس 2017
يتضمّن هذا التحديث التغييرات التالية:
- يحتوي الموقع الإلكتروني
topicDetails.topicCategories[]
الجديد لموردchannel
على قائمة بعناوين URL الخاصة بموقع Wikipedia الإلكتروني والتي تصف محتوى القناة. تتوافق عناوين URL مع أرقام تعريف المواضيع التي يتم عرضها في الموقع الإلكترونيtopicDetails.topicIds[]
الخاص بالمورد. - تحدد السمة
contentDetails.videoPublishedAt
الجديدة لمصدرplaylistItem
الوقت الذي تم فيه نشر الفيديو على YouTube. يحتوي المورد حاليًا على السمةsnippet.publishedAt
التي تحدّد وقت إضافة العنصر إلى قائمة التشغيل. - وكما هو الحال في المورد
channel
، يعرض الموردvideo
الآن السمةtopicDetails.topicCategories[]
التي تحتوي على قائمة بعناوين URL من Wikipedia التي تصف محتوى الفيديو. بالنسبة إلى مواردvideo
، تتطابق عناوين URL مع أرقام تعريف المواضيع التي يتم عرضها في الموقع الإلكترونيtopicDetails.relevantTopicIds[]
للمورد. - تحدّد السمة
contentDetails.contentRating.mpaatRating
الجديدة الخاصة بموردvideo
التقييم الذي منحته Motion Picture Association of America لمقطع دعائي لفيلم أو لمعاينته.
27 شباط (فبراير) 2017
وفقًا لما أعلنّاه في الأصل في 11 آب (أغسطس) 2016، استبدلت YouTube القائمة المسموح بها من أرقام تعريف المواضيع بقائمة منسّقة. تم تضمين القائمة الكاملة بأرقام تعريف المواضيع المتوافقة في سمات topicDetails
لموارد channel
وvideo
وكذلك في مَعلمة topicId
لطريقة search.list
.
يُرجى العِلم أنّ هناك عدّة تغييرات على القائمة المنظَّمة:
- تمت إضافة المواضيع التالية كمواضيع فرعية من
Society
:الاسم رقم تعريف الموضوع النشاط التجاري /m/09s1f
صحة /m/0kt51
عسكرية /m/01h6rj
السياسة /m/05qt0
الديانة /m/06bvp
- تمّت إزالة موضوع
Animated cartoon
الذي كان سابقًا موضوعًا فرعيًا لموضوعEntertainment
. - تمّت إزالة موضوع
Children's music
الذي كان سابقًا موضوعًا فرعيًا لموضوعMusic
.
نتيجةً لهذا التغيير، يتم دائمًا عرض المواضيع المتعلّقة بالفيديو في قيمة السمة topicDetails.relevantTopicIds[]
للمورد video
.
29 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
هناك ثلاثة تغييرات بسيطة في قائمة معرّفات المواضيع التي ستكون متاحة اعتبارًا من 10 شباط (فبراير) 2017:
- أصبحت فئة
Professional wrestling
، التي كانت في السابق فئة فرعية لفئةSports
، الآن فئة فرعية لفئةEntertainment
. - الفئة
TV shows
، التي هي فرعية منEntertainment
، هي الفئة الجديدة. - تمت إزالة الفئة
Health
التي كانت في السابق فئة فرعية منLifestyle
.
يُرجى العلم أيضًا أنّ هناك بعض الفئات الرئيسية (
Entertainment
وGaming
وLifestyle
وMusic
وSports
). أي فيديو مرتبط بفئة فرعية، مثلTennis
، سيتم ربطه أيضًا بالفئة الرئيسية (Sports
). - أصبحت فئة
10 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
كما تم الإعلان عنه لأول مرة في 11 آب (أغسطس) 2016، فإن إيقاف Freebase وFreebase API يتطلب العديد من التغييرات ذات الصلة بمعرّفات المواضيع. تحدِّد معرّفات المواضيع المواضيع المرتبطة بموارد
channel
وvideo
، ويمكنك أيضًا استخدام مَعلمة البحثtopicId
للعثور على قنوات أو فيديوهات مرتبطة بموضوع معيّن.في 10 شباط (فبراير) 2017، سيبدأ YouTube بعرض مجموعة صغيرة من معرّفات المواضيع بدلاً من مجموعة أرقام التعريف الأكثر دقة التي تم إرجاعها حتى الآن. بالإضافة إلى ذلك، لا يمكننا ضمان أن تكون القنوات والفيديوهات مرتبطة بأي مواضيع، وهو ما يتوافق مع السلوك الحالي لواجهة برمجة التطبيقات.
لكي تتمكّن من إعداد عملاء واجهة برمجة التطبيقات لهذه التغييرات، تم تعديل تعريفات مَعلمات واجهة برمجة التطبيقات والسمات التالية لعرض معرّفات المواضيع التي ستصبح متاحة بعد ذلك الوقت. تجدر الإشارة إلى أنّ قائمة الفئات هي نفسها لجميع السمات.
- السمة
topicDetails.topicIds[]
الخاصة بموردchannel
. - السمة
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 من المستندات. وقدّم هذا الدليل عيّنات رموز برمجية توضّح كيفية عمل التطبيق مع Freebase API.
بالإضافة إلى ذلك، تمت إزالة عدّة نماذج رموز ذات صلة بمعرّفات المواضيع من المستندات الخاصة بطريقة
search.list
.
2 تشرين الثاني (نوفمبر) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
المواقع والمَعلمات الجديدة
-
يحتوي مورد "
video
" على عدة سمات جديدة:-
تحتوي السمة
player.embedHtml
على علامة<iframe>
يمكنك استخدامها لتضمين مشغّل يشغّل الفيديو. تحدّد السمتانplayer.embedHeight
وplayer.embedWidth
الجديدتان أبعاد المشغّل المضمّن. لا يتم عرض هذه السمات إلا إذا حدَّد طلب واجهة برمجة التطبيقات قيمة واحدة على الأقل من مَعلمتَيmaxHeight
أوmaxWidth
. سيتم شرح هاتين المعلمتين الجديدتين لاحقًا في إدخال سجل النُسخ السابقة. -
تشير السمة الجديدة
hasCustomThumbnail
إلى ما إذا كان القائم بالتحميل قد قدّم صورة مصغّرة مخصّصة للفيديو. يُرجى العلم أنّ هذه السمة متاحة فقط للقائم بتحميل الفيديو. -
تحدِّد السمة الجديدة
fpbRatingReasons[]
أسباب حصول الفيديو على تقييم FPB (جنوب أفريقيا). -
تحدّد السمة
mcstRating
الجديدة التقييم الذي حصل عليه الفيديو في فيتنام.
-
-
تتيح طريقة
videos.list
مَعلمتَين جديدتَين، وهماmaxHeight
وmaxWidth
. يمكنك استخدام أي من المعلمتين أو كلتيهما عند استرداد الجزءplayer
في مواردvideo
.يكون ارتفاع
<iframe>
الذي يتم عرضه في السمةplayer.embedHtml
تلقائيًا هو 360 بكسل. ويتم ضبط العرض ليلائم نسبة العرض إلى الارتفاع في الفيديو، وبالتالي يتم ضمان عدم احتواء المشغّل المضمّن على أشرطة سوداء تحيط به. على سبيل المثال، إذا كانت نسبة عرض إلى ارتفاع الفيديو هي 16:9، سيكون عرض المشغّل 640 بكسل.وباستخدام المعلمات الجديدة، يمكنك تحديد أنه يجب أن تستخدم شفرة التضمين ارتفاع و/أو عرض مناسبَين لتخطيط تطبيقك بدلاً من الأبعاد التلقائية. يغيّر خادم واجهة برمجة التطبيقات أبعاد المشغّل بما يناسب المحتوى لضمان عدم ظهور أشرطة سوداء حول الفيديو في المشغّل المضمّن. تجدر الإشارة إلى أنّ كلتا المعلمتَين تحدّدان الحدّ الأقصى لأبعاد المشغّل المضمَّن. وبالتالي، إذا تم تحديد كلتا المعلمتَين، قد تكون إحدى السمات أصغر من الحدّ الأقصى المسموح به لتلك السمة.
على سبيل المثال، لنفترض أنّ نسبة عرض إلى ارتفاع الفيديو هي 16:9. وبالتالي، ستحتوي العلامة
player.embedHtml
على مشغّل بحجم 640 × 360 في حال عدم ضبط المَعلمةmaxHeight
أوmaxWidth
.- إذا تم ضبط المَعلمة
maxHeight
على720
، ولم يتم ضبط المَعلمةmaxWidth
، ستُعرِض واجهة برمجة التطبيقات مشغّلاً بدقة 1280x720. - في حال ضبط المَعلمة
maxWidth
على960
وعدم ضبط المَعلمةmaxHeight
، ستُعرِض واجهة برمجة التطبيقات مشغّلاً بدقة 960×540. - إذا تم ضبط المَعلمة
maxWidth
على960
وضبط المَعلمةmaxHeight
على450
، ستعرض واجهة برمجة التطبيقات مشغّلاً بحجم 800 x 450.
تحدِّد السمتَان الجديدتان
player.embedHeight
وplayer.embedWidth
، الموضَّحتان أعلاه، أبعاد اللاعب. - إذا تم ضبط المَعلمة
-
-
التعديلات على الطرق والسمات والمَعلمات الحالية
-
تم تعديل وصف المورد
channelSection
للإشارة إلى أنّه يمكن للقناة إنشاء 10 رفوف كحد أقصى بدون ضبط بيانات الاستهداف، ويمكنها إنشاء 100 رفوف كحد أقصى باستخدام بيانات الاستهداف.بالإضافة إلى ذلك، تم تعديل سمة
targeting
لموردchannelSection
لتوضيح أنّه لا يمكن ضبط خيارات الاستهداف إلا باستخدام واجهة برمجة التطبيقات. يتم حذف خيارات الاستهداف في حال تعديل قسم القناة باستخدام واجهة المستخدم على موقع YouTube الإلكتروني. -
تم تصحيح تعريف السمة
snippet.name
في الموردi18nLanguage
ليشير إلى أنّ القيمة تمثّل اسم لغة كما هي مكتوبة باللغة المحدَّدة في مَعلمةhl
الخاصة بطريقةi18nLanguage.list
. -
تم تعديل السمة
contentDetails.note
الخاصة بمورد "playlistItem
" للإشارة إلى أنّ الحد الأقصى لطول قيمة السمة هو 280 حرفًا. -
تم إيقاف السمتَين
contentDetails.startAt
وcontentDetails.endAt
للمورد فيplaylistItem
نهائيًا. يتم تجاهل هذه الحقول إذا تم ضبطها في طلباتplaylistItems.insert
أوplaylistItems.update
. -
تتيح الطريقتان
playlistItems.delete
وplaylistItems.update
الآن استخدام المَعلمةonBehalfOfContentOwner
، وهي متاحة لعدة طرق أخرى. ويجب أيضًا تفويض الطلبات التي تستخدم هذه الطريقة باستخدام رمز تعريف يمنح إذن الوصول إلى نطاقhttps://www.googleapis.com/auth/youtubepartner
. -
تم تعديل المَعلمتَين
publishedBefore
وpublishedAfter
في الطريقةsearch.list
للإشارة إلى أنّ قيم المَعلمتَين شاملة. على سبيل المثال، في حال ضبط المَعلمةpublishedBefore
، تعرض واجهة برمجة التطبيقات الموارد التي تم إنشاؤها قبل أو في الوقت المحدّد. -
تتيح السمة
contentDetails.contentRating.grfilmRating
للموردvideo
استخدام ثلاث قيم إضافية:grfilmK12
وgrfilmK15
وgrfilmK18
. -
تم تعديل وصف طريقة
videos.insert
للإشارة إلى أنّ الحد الأقصى لحجم الملفات التي يمكن تحميلها قد زاد من 64 غيغابايت إلى 128 غيغابايت.
-
-
أخطاء جديدة ومحدّثة
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
نوع الخطأ تفاصيل الخطأ الوصف forbidden (403)
homeParameterDeprecated
تعرض الطريقة activities.list
هذا الخطأ للإشارة إلى أنّ بيانات نشاط الصفحة الرئيسية للمستخدم غير متاحة من خلال واجهة برمجة التطبيقات هذه. قد يحدث هذا الخطأ في حال ضبط المَعلمةhome
علىtrue
في طلب غير مصرّح به.invalidValue (400)
invalidContentDetails
تعرض الطريقة playlistItems.insert
هذا الخطأ للإشارة إلى أنّ الكائنcontentDetails
في الطلب غير صالح. من أسباب حدوث هذا الخطأ أنّ طول حقلcontentDetails.note
يتجاوز 280 حرفًا.forbidden (403)
watchHistoryNotAccessible
تعرِض طريقة playlistItems.list
هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل في "سجلّ المشاهدة"، ولكن لا يمكن استردادها باستخدام واجهة برمجة التطبيقات.forbidden (403)
watchLaterNotAccessible
تعرِض طريقة playlistItems.list
هذا الخطأ للإشارة إلى أنّ الطلب حاول استرداد عناصر قائمة التشغيل "المشاهدة لاحقًا"، ولكن لا يمكن استردادها باستخدام واجهة برمجة التطبيقات.badRequest (400)
uploadLimitExceeded
تعرض الطريقة videos.insert
هذا الخطأ للإشارة إلى أنّ القناة تجاوزت عدد الفيديوهات التي يمكنها تحميلها.forbidden (403)
forbiddenEmbedSetting
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ طلب البيانات من واجهة برمجة التطبيقات يحاول ضبط إعداد تضمين غير صالح للفيديو. يُرجى العِلم أنّ بعض القنوات قد لا تملك الإذن بتوفير مشغّلات مضمّنة في أحداث البث المباشر. لمزيد من المعلومات، يُرجى الانتقال إلى مركز مساعدة YouTube. -
لم تعُد الطريقة
playlistItems.insert
تعرِض خطأ في حال إدراج فيديو مكرّر في قائمة تشغيل. كان هذا الخطأ يظهر سابقًا في بعض قوائم التشغيل، مثل الفيديوهات المفضّلة، التي لم تكن تسمح بإضافة عناصر مكرّرة ولكنّها لم تعُد متاحة. بشكل عام، تسمح قوائم التشغيل بالفيديوهات المكرّرة.
-
-
تعديلات أخرى
-
تم تحديث إدخال سجل النُسخ السابقة في 15 أيلول (سبتمبر) 2016 لتوضيح أنه عندما يتم تضمين السمتين
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
للموردchannel
في رد، سيحتوي دائمًا على القيمتينHL
وWL
، على التوالي. علاوة على ذلك، لا يتم تضمين هذه الخصائص إلا إذا كان المستخدم المعتمد يسترد بيانات حول قناة المستخدم الخاصة.
-
15 أيلول (سبتمبر) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
ناقش تحديث سجل النُسخ السابقة في 11 آب (أغسطس) 2016 العديد من التغييرات المتعلقة بمعرّفات المواضيع، بما في ذلك تغيير مجموعة معرّفات المواضيع المتوافقة اعتبارًا من 10 شباط (فبراير) 2017. سيتم نشر قائمة المواضيع التي ستتوفّر بحلول 10 تشرين الثاني (نوفمبر) 2016.
-
تسري التغييرات التالية الآن. تم تقديم إشعار بهذه التغييرات في تحديث سجل النُسخ السابقة في 11 آب (أغسطس) 2016:
-
في حال استدعاء الطريقة
activities.list
مع ضبط المَعلمةhome
علىtrue
، سيتضمّن ردّ واجهة برمجة التطبيقات الآن عناصر مشابهة لما سيرى مستخدم YouTube الذي لم يسجّل الدخول على الصفحة الرئيسية.هذا تغيير بسيط يهدف إلى توفير تجربة أفضل للمستخدمين مقارنةً بالسلوك الموضّح في تعديل سجلّ المراجعات بتاريخ 11 آب (أغسطس) 2016. ذكر هذا التعديل أن الطلبات التي تستخدم مَعلمة
home
ستعرض قائمة فارغة. -
تحتوي السمتَان
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
لمصدرchannel
الآن على قيمتَيHL
وWL
على التوالي لجميع القنوات.للتوضيح، هذه الخصائص مرئية فقط للمستخدم المصرّح له الذي يسترد بيانات حول قناة المستخدم الخاصة. تحتوي السمات دائمًا على القيمتَين
HL
وWL
، حتى إذا كان المستخدم المفوَّض يسترجع بيانات عن قناته الخاصة. وبالتالي، لا يمكن استرداد معرّفات سجلّ المشاهدة وقوائم التشغيل في "المشاهدة لاحقًا" من خلال واجهة برمجة التطبيقات.بالإضافة إلى ذلك، أصبحت طلبات استرداد تفاصيل قائمة التشغيل (
playlists.list
) أو عناصر قائمة التشغيل (playlistItems.list
) لسجلّ مشاهدة القناة أو قائمة "المشاهدة لاحقًا" تعرض الآن قوائم فارغة. ينطبق هذا السلوك على القيم الجديدة، أيHL
وWL
، بالإضافة إلى أي أرقام تعريف لسجلّ المشاهدة أو قوائم تشغيل "المشاهدة لاحقًا" التي سبق أن خزّنها برنامج واجهة برمجة التطبيقات الخاص بك.
-
-
لن يتم بعد الآن عرض الكائن
fileDetails.recordingLocation
في الموردvideo
وخصائصه الفرعية. في السابق، كان بإمكان مالك الفيديو فقط استرداد هذه البيانات (مثل العنصر الرئيسيfileDetails
).
11 آب (أغسطس) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
إنّ "بنود خدمات واجهات برمجة تطبيقات YouTube" المنشورة حديثًا (المُشار إليها بالتفصيل في مدوّنة مطوّري البرامج والهندسة في YouTube)، توفّر مجموعة واسعة من التعديلات على بنود الخدمة الحالية. بالإضافة إلى الأحكام المعدَّلة التي ستسري اعتبارًا من 10 شباط (فبراير) 2017، يتضمّن هذا التعديل العديد من المستندات الداعمة للمساعدة في شرح السياسات التي يجب أن يتّبعها المطوّرون.
يمكنك الاطّلاع على المجموعة الكاملة من المستندات الجديدة في سجلّ النُسخ السابقة للبنود المعدَّلة. بالإضافة إلى ذلك، سيتم أيضًا شرح التغييرات المستقبلية التي تطرأ على البنود المحدَّثة أو تلك التي تطرأ على المستندات الداعمة في سجلّ النُسخ السابقة هذا. يمكنك الاشتراك في خلاصة RSS تعرض التغييرات في سجلّ النُسخ السابقة من رابط في هذا المستند.
-
يؤدي إيقاف Freebase وFreebase API إلى حدوث العديد من التغييرات ذات الصلة بمعرّفات المواضيع. يتم استخدام أرقام تعريف المواضيع في موارد واجهة برمجة التطبيقات وطُرقها التالية:
- يحدّد الجزء
topicDetails
من المرجعchannel
المواضيع المرتبطة بالقناة. - يحدِّد الجزء
topicDetails
من موردvideo
المواضيع المرتبطة بالفيديو. - تتيح لك المَعلمة
topicId
في الطريقةsearch.list
البحث عن فيديوهات أو قنوات ذات صلة بموضوع معيّن.
في ما يلي التغييرات التي يتم إجراؤها على هذه الميزات:
-
اعتبارًا من 10 شباط (فبراير) 2017، سيبدأ YouTube بعرض مجموعة صغيرة من معرّفات المواضيع بدلاً من مجموعة المعرّفات الأكثر دقة التي تم إرجاعها حتى الآن. ستحدِّد هذه المجموعة من المواضيع المتوافقة تصنيفات عالية المستوى، مثل الرياضة أو كرة السلة، ولكنّها لن تحدِّد، على سبيل المثال، فِرقًا أو لاعبين معيّنين. سنعلن عن مجموعة المواضيع المتوافقة حتى يكون لديك الوقت الكافي لإعداد تطبيقك لهذا التغيير.
-
يمكن استخدام أي معرّفات مواضيع Freebase سبق أن استردتها للبحث عن المحتوى حتى 10 شباط (فبراير) 2017. بعد ذلك الوقت، ستتمكّن من استخدام المجموعة الأصغر من المواضيع المحدّدة في العنصر السابق فقط لاسترداد نتائج البحث حسب الموضوع.
-
بعد 10 شباط (فبراير) 2017، إذا حاولت البحث عن نتائج باستخدام معرّف موضوع ليس في المجموعة الأصغر من أرقام تعريف المواضيع المتوافقة، ستعرض واجهة برمجة التطبيقات مجموعة نتائج فارغة.
- يحدّد الجزء
-
سيتم إيقاف العديد من حقول ومعايير واجهة برمجة التطبيقات نهائيًا اعتبارًا من 12 أيلول (سبتمبر) 2016:
-
إنّ المعلَمة
home
في طريقةactivities.list
أتاحت للمستخدم المفوّض استرداد خلاصة الأنشطة التي سيتم عرضها على صفحة YouTube الرئيسية لهذا المستخدم. ستعرض الطلبات التي تستخدم هذه المعلمة بعد 12 أيلول (سبتمبر) 2016 قائمة فارغة. -
لا تظهر السمتان
contentDetails.relatedPlaylists.watchHistory
وcontentDetails.relatedPlaylists.watchLater
للمورد فيchannel
إلا للمستخدم المصرَّح له الذي يسترد البيانات المتعلقة بقناة المستخدم. وبعد 12 أيلول (سبتمبر) 2016، ستعرض السمةcontentDetails.relatedPlaylists.watchHistory
القيمةHL
وتعرض السمةcontentDetails.relatedPlaylists.watchLater
القيمةWL
لجميع القنوات.بعد 12 أيلول (سبتمبر) 2016، عندما تطلب استرداد تفاصيل قائمة التشغيل (
playlists.list
) الخاصة بسجلّ المشاهدة أو قائمة تشغيل "المشاهدة لاحقًا" في قناة، ستظهر قائمة فارغة. بعد ذلك الوقت، ستؤدي طلبات استرداد عناصر قائمة التشغيل (playlistItems.list
) في أيّ من هاتين القائمتَين إلى عرض قائمة فارغة أيضًا. وينطبق ذلك على القيمتَين الجديدتَينHL
وWL
، بالإضافة إلى أي أرقام تعريف لقوائم التشغيل في سجلّ المشاهدة أو "المشاهدة لاحقًا" سبق أن تخزينها برنامجك الذي يستخدم واجهة برمجة التطبيقات. -
بعد 12 أيلول (سبتمبر) 2016، لن يتم عرض عنصر
fileDetails.recordingLocation
الخاص بمصدرvideo
أو أيّ من مواقعه الفرعية. لا يمكن إلا لمالك الفيديو استرداد هذه البيانات لأنّه لا يمكن إلا لمالك الفيديو استرداد العنصر الرئيسيfileDetails
.
-
13 حزيران (يونيو) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تم إيقاف سمة
contentDetails.googlePlusUserId
في المرجعchannel
نهائيًا. في السابق، لم يكن الموقع متاحًا إلا إذا كانت القناة مرتبطة بملف شخصي على Google+. بعد إيقاف هذه السمة نهائيًا، لن يتم تضمين الموقع في أيّ من مواردchannel
. -
تم إيقاف سمة
snippet.authorGoogleplusProfileUrl
في المرجعcomment
نهائيًا. في السابق، كان الموقع الإلكتروني متاحًا فقط إذا كانت القناة مرتبطة بملف شخصي على +Google. بعد إيقاف هذه السمة نهائيًا، لن يتم تضمين الموقع في أيّ من مواردcomment
.
وبما أنّه لن يتم عرض أيّ من هاتين السمتَين بعد الإيقاف النهائي، تمت إزالة كلتا السمتَين من مستندات المرجع المعنيّ.
31 أيار (مايو) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تسترد معلَمة
myRecentSubscribers
الجديدة في طريقةsubscriptions.list
قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه بترتيب زمني عكسي للوقت الذي اشترك فيه في القناة.يُرجى العلم أنّ المَعلمة الجديدة لا تتيح استرداد سوى آخر 1,000 مشترك في قناة المستخدم الذي تمّت مصادقة هويته. لاسترداد قائمة كاملة بالمشتركين، استخدِم المَعلمة
mySubscribers
. هذه المعلمة، التي لا تعرض المشتركين بترتيب معين، لا تؤدي إلى تقييد عدد المشتركين الذين يمكن استردادهم. -
تم تعديل تعريف السمة
snippet.thumbnails.(key)
ليتضمّن موارد النشاط وplaylistItem وقائمة التشغيل ونتائج البحث والصورة المصغّرة والفيديو للإشارة إلى توفّر أحجام إضافية للصور المصغّرة لبعض الفيديوهات.- يبلغ عرض صورة
standard
640 بكسل وطولها 480 بكسل. - تبلغ أبعاد صورة
maxres
1280 بكسل في العرض و720 بكسل في الارتفاع.
- يبلغ عرض صورة
-
تم تعديل تعريف المعلَمة
part
لطريقةchannelSection.list
للإشارة إلى أنّه يمكن استرداد الجزءtargeting
بتكلفة وحدات حصة تبلغ2
. -
تُعرِض طريقة
videos.list
الآن خطأ محظور (403
) عندما يحاول طلب مفوَّض بشكل غير صحيح استرداد أجزاءfileDetails
أوprocessingDetails
أوsuggestions
من موردvideo
. ولا تتوفّر هذه الأجزاء إلا لمالك الفيديو.
17 أيار (مايو) 2016
توفّر أداة مقتطفات رمز Data API الجديدة مقتطفات رموز قصيرة لحالات الاستخدام الشائعة في YouTube Data API. تتوفّر مقتطفات الرمز حاليًا لجميع طرق واجهة برمجة التطبيقات للقراءة فقط في النصوص البرمجية للتطبيقات وGo وJavaScript وPHP وPython وRuby.
بالنسبة إلى كل طريقة، تعرض الأداة عيّنات التعليمات البرمجية لحالة استخدام واحدة أو أكثر. على سبيل المثال، يوفّر هذا القسم خمسة مقتطفات رمز برمجي لطريقة search.list
:
- إدراج الفيديوهات حسب الكلمة الرئيسية
- عرض الفيديوهات حسب الموقع الجغرافي
- سرد الأحداث المباشرة
- البحث عن فيديوهات المستخدم الذي تمّت مصادقته
- إدراج الفيديوهات ذات الصلة
لكل حالة استخدام، تعرض الأداة المَعلمات المستخدَمة في طلب البيانات من واجهة برمجة التطبيقات. يمكنك تعديل قيم المَعلمات، وفي هذه الحالة تعدّل الأداة مقتطفات الرموز البرمجية لتعكس قيم المَعلمات التي قدّمتها.
أخيرًا، تعرض الأداة استجابة واجهة برمجة التطبيقات لكل طلب. إذا عدّلت مَعلمات الطلب، يستند ردّ واجهة برمجة التطبيقات إلى قيم المَعلمات المقدَّمة. يُرجى العلم أنّك بحاجة إلى تفويض الأداة بإرسال طلبات نيابةً عنك لعرض الردود من واجهة برمجة التطبيقات.
28 نيسان (أبريل) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تحدّد السمة الجديدة
contentDetails.projection
الخاصة بموردvideo
تنسيق العرض الخاص بالفيديو. القيم الصالحة للخاصية هي360
وrectangular
. -
تم تعديل السمتَين
recordingDetails.location
وfileDetails.recordingLocation
لمصدرvideo
لشرح الفرق بين السمتَين:- تحدد السمة
recordingDetails.location
الموقع الجغرافي الذي يريد مالك الفيديو ربطه بالفيديو. ويمكن تعديل هذا الموقع الجغرافي والبحث عنه في الفيديوهات العلنية، وقد يتم عرضه للمستخدمين في الفيديوهات العلنية. - قيمة السمة
fileDetails.recordingLocation
غير قابلة للتغيير، وتمثِّل الموقع الجغرافي المرتبط بملف الفيديو الأصلي الذي تم تحميله. ولا تظهر هذه القيمة إلا لمالك الفيديو.
- تحدد السمة
-
تم تعديل تعريف السمة
contentDetails.relatedPlaylists.favorites
لموردchannel
للإشارة إلى أنّ قيمة السمة قد تحتوي على معرّف قائمة تشغيل يشير إلى قائمة تشغيل فارغة ولا يمكن استرجاعها. ويعود السبب في ذلك إلى أنّنا أوقفنا نهائيًا وظائف الفيديوهات المفضّلة. يُرجى العِلم أنّ هذا الموقع لا يخضع لسياسة إيقاف واجهة برمجة التطبيقات نهائيًا. -
تم تعديل تعريف الخطأ
ineligibleAccount
، الذي يمكن عرضه باستخدام الطريقةcomments.insert
أوcomments.update
أوcommentThreads.insert
أوcommentThreads.update
، ليعكس أنّ الخطأ يحدث عندما لا يتم دمج حساب YouTube المستخدَم لتفويض طلب البيانات من واجهة برمجة التطبيقات مع حساب المستخدم على Google.
20 نيسان (أبريل) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل تعريف المَعلمة
part
لطريقةchannels.update
للإشارة إلى أنّlocalizations
هي أيضًا قيمة صالحة لهذه المَعلمة. -
تم تعديل قسم استخدام الحصة في دليل "البدء" لتوفير رابط يؤدي إلى Google Developers Console، حيث يمكنك الاطّلاع على الحصة الفعلية واستخدامها.
16 آذار (مارس) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
التعديلات على الموارد والطرق الحالية
-
تم تعديل مستندات موارد
channelBanner
للإشارة إلى أنّ الحجم المقترَح لصورة بانر القناة التي تم تحميلها هو 2560 بكسل × 1440 بكسل. لم يتغيّر الحد الأدنى للحجم (2048 بكسل × 1152 بكسل). -
تحدّد السمة الجديدة
snippet.customUrl
الخاصة بموردchannel
عنوان URL المخصّص المرتبط بالقناة. (لا تتوفّر عناوين URL مخصّصة لبعض القنوات). يوضّح مركز مساعدة YouTube متطلبات الأهلية للحصول على عنوان URL مخصّص، بالإضافة إلى كيفية إعداد عنوان URL. -
تم إيقاف كائن
brandingSettings.watch
لموردchannel
وكل سمات هذا الكائن الفرعية نهائيًا. -
يحتوي ردّ واجهة برمجة التطبيقات على طلب
search.list
الآن على سمةregionCode
. تحدّد السمة رمز المنطقة الذي تم استخدامه لطلب البحث. يوجّه رمز المنطقة واجهة برمجة التطبيقات لعرض نتائج البحث للبلد المحدّد.قيمة الخاصية هي رمز بلد مكوّن من حرفين وفقًا لمعيار ISO ويحدد المنطقة. تُرجع الطريقة
i18nRegions.list
قائمة بالمناطق المتوافقة. القيمة التلقائية هيUS
. إذا تم تحديد منطقة غير متوافقة، قد تختار YouTube منطقة أخرى بدلاً من القيمة التلقائية لمعالجة الطلب. -
تم تعديل تعريفات السمتَين
snippet.label
وsnippet.secondaryReasons[].label
لمصدرvideoAbuseReportReason
للإشارة إلى أنّ السمتَين تحتويان على نص تصنيف مترجَم لأسباب الإبلاغ عن إساءة الاستخدام.بالإضافة إلى ذلك، تتيح الطريقة
videoAbuseReportReasons.list
الآن استخدام المَعلمةhl
التي تحدّد اللغة التي يجب استخدامها لنص التصنيف في استجابة واجهة برمجة التطبيقات. قيمة المَعلمة التلقائية هيen_US
. -
تحدّد السمة
contentDetails.contentRating.ecbmctRating
الجديدة الخاصة بمورد "video
" تقييم الفيديو الذي أصدره "مجلس التقييم والتصنيف" في وزارة الثقافة والسياحة التركية.بالإضافة إلى ذلك، تتيح سمات واجهة برمجة التطبيقات لأنظمة التقييم الأخرى القيم الجديدة التالية للسمة:
contentDetails.contentRating.fpbRating
(جنوب أفريقيا)
التقييم: 10، قيمة السمة:fpb10
contentDetails.contentRating.moctwRating
(تايوان)
التقييم: R-12؛ قيمة السمة:moctwR12
contentDetails.contentRating.moctwRating
(تايوان)
التقييم: R-15؛ قيمة السمة:moctwR15
-
يحتوي الحقل
liveStreamingDetails.activeLiveChatId
في موردvideo
على معرّف المحادثة المباشرة النشطة المرتبطة بالفيديو. لا تتوفّر قيمة السمة إلّا إذا كان الفيديو عبارة عن بث مباشر حالي تم تفعيل ميزة المحادثة المباشرة فيه. بعد انتهاء البث المباشر والمحادثة المباشرة، لن يتم عرض الموقع على الفيديو. -
تتيح سمة
status.rejectionReason
في موردvideo
استخدام القيمة الجديدة للخاصيةlegal
.
-
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
notEditable
تعرِض طُرق channelSections.insert
وchannelSections.update
وchannelSections.delete
هذا الخطأ للإشارة إلى أنّه لا يمكن إنشاء قسم القناة المحدّد أو تعديله أو حذفه.badRequest (400)
styleRequired
تعرض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ للإشارة إلى أنّ موردchannelSection
الذي تم إرساله في طلب البيانات من واجهة برمجة التطبيقات يجب أن يحدد قيمة للسمةsnippet.style
.badRequest (400)
typeRequired
تُعرِض الطريقتان channelSections.insert
وchannelSections.update
هذا الخطأ للإشارة إلى أنّ مرجعchannelSection
الذي تم إرساله في طلب واجهة برمجة التطبيقات يجب أن يحدّد قيمة للسمةsnippet.type
.badRequest (400)
processingFailure
تعرض طريقة commentThreads.list
هذا الخطأ للإشارة إلى تعذُّر معالجة الطلب بنجاح من قِبل خادم واجهة برمجة التطبيقات. على الرغم من أنّ هذا الخطأ قد يكون عابرًا، إلّا أنّه يشير عادةً إلى أنّ البيانات التي أدخلها الطلب غير صالحة. تحقّق من بنية موردcommentThread
في محتوى الطلب للتأكّد من صحته.forbidden (403)
commentsDisabled
تُرجع الطريقة commentThreads.list
هذا الخطأ للإشارة إلى أنّه تم إيقاف التعليقات على الفيديو المحدّد بالمَعلمةvideoId
.badRequest (400)
commentTextTooLong
تعرض الطريقة commentThreads.insert
هذا الخطأ للإشارة إلى أنّ موردcomment
الذي يتم إدراجه يحتوي على عدد كبير جدًا من الأحرف في السمةsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
تعرض الطريقة playlistItems.insert
هذا الخطأ للإشارة إلى أن الفيديو الذي تحاول إضافته إلى قائمة التشغيل موجود مسبقًا في قائمة تشغيل متسلسلة أخرى. يمكنك زيارة مركز مساعدة YouTube للحصول على مزيد من المعلومات عن قوائم تشغيل سلاسل الفيديوهات.badRequest (400)
subscriptionForbidden
تعرض الطريقة subscriptions.insert
هذا الخطأ للإشارة إلى أنك بلغت الحد الأقصى لعدد الاشتراكات أو أنك أنشأت عددًا كبيرًا جدًا من الاشتراكات الحديثة. وفي الحالة الثانية، يمكنك إعادة محاولة الطلب بعد بضع ساعات.badRequest (400)
invalidCategoryId
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.categoryId
في الموردvideo
الذي تم تحميله حدّدت رقم تعريف فئة غير صالح. استخدِم الطريقةvideoCategories.list
لاسترداد الفئات المتوافقة.badRequest (400)
invalidDescription
تُرجع طريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.description
في موردvideo
الذي تم تحميله حدّدت قيمة غير صالحة.badRequest (400)
invalidPublishAt
تُرجع طريقة videos.update
هذا الخطأ للإشارة إلى أنّ سمةstatus.publishAt
في موردvideo
الذي تم تحميله حدّدت وقت نشر مجدوَلًا غير صالح.badRequest (400)
invalidRecordingDetails
تُرجع طريقة videos.update
هذا الخطأ للإشارة إلى أنّ عنصرrecordingDetails
في موردvideo
الذي تم تحميله حدّد تفاصيل تسجيل غير صالحة.badRequest (400)
invalidTags
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.tags
في الموردvideo
الذي تم تحميله حدّدت قيمة غير صالحة.badRequest (400)
invalidTitle
تُرجع طريقة videos.update
هذا الخطأ للإشارة إلى أنّ السمةsnippet.title
في موردvideo
المحمَّل حدّدت عنوان فيديو غير صالح أو فارغ.badRequest (400)
invalidVideoMetadata
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى أن البيانات الوصفية للطلب غير صالحة. يحدث هذا الخطأ إذا كان الطلب يعدِّل الجزءsnippet
من موردvideo
، ولكنّه لا يضبط قيمة لكلّ من السمتَينsnippet.title
وsnippet.categoryId
.
18 كانون الأول (ديسمبر) 2015
تشترط قوانين الاتحاد الأوروبي تقديم بيانات إفصاح معيّنة للمستخدمين النهائيين في الاتحاد الأوروبي والحصول على موافقاتهم. لذلك، عليك الالتزام بسياسة موافقة المستخدم في الاتحاد الأوروبي للمستخدمين النهائيين في الاتحاد الأوروبي. أضفنا إشعارًا بهذا الشرط في بنود خدمة YouTube API.
19 تشرين الثاني (نوفمبر) 2015
تتيح واجهة برمجة التطبيقات الآن إمكانية ضبط النص المترجَم واسترداده للسمة snippet.title
والسمة snippet.description
لمصدرَي playlist
وvideo
، والسمة snippet.title
لمصدر channelSection
، والسمة snippet.description
لمصدر channel
.
-
ضبط عناوين وأوصاف مترجَمة
يمكنك ضبط قيم معدَّلة بما يناسب السوق المحلية لمورد عند استدعاء طريقة
insert
أوupdate
لذلك المورد. لضبط القيم المترجَمة لمورد، نفِّذ ما يلي:-
تأكَّد من ضبط قيمة لسمة
snippet.defaultLanguage
في المورد. تحدِّد هذه السمة لغة السمتَينsnippet.title
وsnippet.description
للمورد. ويمكن أن تكون قيمتها أي لغة تطبيق متوافقة أو معظم رموز اللغات الأخرى وفقًا لمعيار ISO 639-1:2002. على سبيل المثال، إذا حمّلت فيديو بعنوان ووصف باللغة الإنجليزية، يجب ضبط السمةsnippet.defaultLanguage
علىen
.ملاحظة حول تعديل موارد
channel
: لضبط السمةsnippet.defaultLanguage
لموردchannel
، عليك تعديل السمةbrandingSettings.channel.defaultLanguage
. -
أضِف كائن
localizations
إلى المورد الذي يتم تعديله. كل مفتاح عنصر هو سلسلة تحدّد لغة التطبيق أو رمز اللغة وفقًا لمعيار ISO 639-1:2002، ويتم ربط كل مفتاح بعنصر يحتوي على العنوان المترجَم (والوصف) للمورد.يضبط نموذج المقتطف أدناه اللغة التلقائية للمورد على الإنجليزية. وتضيف هذه الميزة أيضًا عناوين وأوصافًا مترجَمة إلى الفيديو باللغتَين الألمانية والإسبانية:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
ملاحظة مهمة: عند تعديل البيانات المترجَمة لمورد معيّن، يجب أن يتضمّن طلب واجهة برمجة التطبيقات جميع النُسخ الحالية المترجَمة من البيانات. على سبيل المثال، إذا أرسلت طلبًا لاحقًا لإضافة بيانات باللغة البرتغالية إلى الفيديو في المثال أعلاه، يجب أن يتضمّن الطلب البيانات المترجَمة للغة الألمانية والإسبانية والبرتغالية.
-
-
استرداد القيم المترجَمة
تتيح واجهة برمجة التطبيقات طريقتين لاسترداد القيم المترجمة للمورد:
-
أضِف مَعلمة
hl
إلى طلبchannels.list
أوchannelSections.list
أوplaylists.list
أوvideos.list
لاسترداد البيانات المترجَمة للغة تطبيق معيّنة يتيحها موقع YouTube الإلكتروني. إذا كانت تفاصيل المرجع المترجَمة متاحة بهذه اللغة، سيحتوي عنصرsnippet.localized
في المرجع على القيم المترجَمة. ومع ذلك، إذا لم تتوفّر تفاصيل مترجَمة، سيحتوي عنصرsnippet.localized
على تفاصيل المورد بـ اللغة التلقائية للمورد.على سبيل المثال، لنفترض أنّ طلب
videos.list
استرجع بيانات للفيديو الموضّح أعلاه مع بيانات مترجمة باللغة الألمانية والإسبانية. إذا تم ضبط المَعلمةhl
علىde
، سيحتوي المورد على البيانات التالية:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
ومع ذلك، إذا تم ضبط المَعلمة
hl
علىfr
، سيحتوي العنصرsnippet.localized
على العنوان والوصف باللغة الإنجليزية لأنّ اللغة الإنجليزية هي اللغة التلقائية للمورد، ولا تتوفّر تفاصيل مترجَمة باللغة الفرنسية.ملاحظة مهمة: يمكن استخدام المَعلمةhl
فقط مع القيم التي تحدّد لغات التطبيقات المتوافقة مع موقع YouTube الإلكتروني. لتحديد ما إذا كان النص المترجَم متاحًا للغات أخرى، يجب استرداد الجزءlocalizations
للمورد والفلتر لتحديد ما إذا كان النص المترجم متوفرًا.
على سبيل المثال، قد تحتاج إلى استرداد القائمة الكاملة للترجمة لتحديد ما إذا كان النص المترجم متاحًا باللغة الإنجليزية الأبالاشية أم لا.
-
عند استرداد مصدر، عليك تضمين
localizations
في قيمة المَعلمةpart
لاسترداد كل التفاصيل المترجَمة لهذا المورد. في حال استرداد بيانات مترجَمة للغة ليست لغة تطبيق YouTube الحالية، يجب استخدام هذا الأسلوب لاسترداد كل الترجمات ثم الفلترة لتحديد ما إذا كانت البيانات المترجمة المطلوبة متوفرة.
-
-
الأخطاء المتعلقة بقيم النصوص المترجَمة
تتيح واجهة برمجة التطبيقات أيضًا ظهور الأخطاء الجديدة التالية في قيم النصوص المترجَمة:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
defaultLanguageNotSetError
يشير هذا الخطأ إلى أنّ الطلب الذي يحاول إدراج عنصر localizations
لمورد أو تعديله يتعذّر تنفيذه لأنّه لم يتم ضبط السمةsnippet.defaultLanguage
لهذا المورد. تتيح طرقchannels.update
وchannelSections.insert
وchannelSections.update
وplaylists.insert
وplaylists.update
وvideos.insert
وvideos.update
عرض هذا الخطأ.badRequest (400)
localizationValidationError
يشير هذا الخطأ إلى تعذُّر التحقّق من إحدى القيم في عنصر localizations
للمورد. على سبيل المثال، قد يحدث هذا الخطأ إذا كان العنصر يحتوي على رمز لغة غير صالح. تتيح طرقchannels.update
وchannelSections.insert
وchannelSections.update
وplaylists.insert
وplaylists.update
هذا الخطأ.
4 تشرين الثاني (نوفمبر) 2015
يتضمّن هذا التحديث التغييرات التالية:
-
تعديلات على المراجع والأساليب الحالية
-
تم تعديل مَعلمة
order
في طريقةsearch.list
للإشارة إلى أنّه في حال ترتيب أحداث البث المباشر حسبviewCount
، سيتم ترتيب نتائج واجهة برمجة التطبيقات حسب عدد المشاهدين المتزامنين لعمليات البث بينما تكون عمليات البث مستمرة. -
تم تعديل المَعلمة
relatedToVideoId
لطريقةsearch.list
لملاحظة أنّه في حال ضبط المَعلمة، ستكون المَعلمات الأخرى المتاحة هيpart
وmaxResults
وpageToken
وregionCode
وrelevanceLanguage
وsafeSearch
وtype
(يجب ضبطها علىvideo
) وfields
. لا يعكس هذا التعديل تغييرًا في سلوك واجهة برمجة التطبيقات. -
تم تعديل تعريف سمة
snippet.publishedAt
لمصدرvideo
للإشارة إلى أنّ قيمة السمة التي تحدّد تاريخ ووقت نشر الفيديو قد تختلف عن وقت تحميله. على سبيل المثال، إذا تم تحميل فيديو كفيديو خاص ثم جعله علنيًا في وقت لاحق، تحدد قيمة السمة الوقت الذي تم فيه تغيير إعدادات خصوصية الفيديو ليصبح علنيًا. ويوضّح التعريف المعدَّل أيضًا كيفية تعبئة القيمة للفيديوهات الخاصة وغير المدرَجة.لا يعكس هذا التغيير أي تغيير في سلوك واجهة برمجة التطبيقات.
-
تم تعديل تعريف السمة
status.publishAt
في الموردvideo
للإشارة إلى ما يلي:- في حال ضبط قيمة هذه السمة عند استدعاء الطريقة
videos.update
، يجب أيضًا ضبط قيمة السمةstatus.privacyStatus
علىprivate
حتى إذا كان الفيديو خاصًا. - إذا كان الطلب يتضمن جدولة نشر فيديو في وقت سابق، سيتم نشره على الفور. وبالتالي، فإنّ تأثير ضبط السمة
status.publishAt
على تاريخ ووقت في الماضي هو نفسه تأثير تغييرprivacyStatus
الخاص بالفيديو منprivate
إلىpublic
.
- في حال ضبط قيمة هذه السمة عند استدعاء الطريقة
-
تحدّد السمة
contentDetails.contentRating.cncRating
الخاصة بالمورد فيvideo
تقييم الفيديو وفقًا للجنة التصوير السينمائية في فرنسا. تحلّ هذه السمة محلّ سمةcontentDetails.contentRating.fmocRating
التي تم إيقافها نهائيًا. -
تم تعديل تعريف brandingSettings.channel.keywords لمصدر
channel
ليعكس بشكل صحيح أنّ قيمة السمة تحتوي على قائمة سلاسل مفصولة بمسافات وليس قائمة مفصولة بفواصل، كما هو موضّح سابقًا. لا يعكس هذا التعديل تغييرًا في سلوك واجهة برمجة التطبيقات. -
تم تعديل مستندات طريقة
thumbnails.set
لتوضيح أنّ نص الطلب يحتوي بدقة على الصورة المصغّرة التي تحمّلها وتربطها بفيديو. لا يحتوي نص الطلب على مورد "thumbnail
". في السابق، كانت المستندات تنص على عدم تقديم محتوى طلب عند استدعاء هذه الطريقة. لا يشير هذا التعديل إلى تغيير في سلوك واجهة برمجة التطبيقات. -
تم تعديل وصف المورد
activity
للإشارة إلى أنّ طريقةactivities.list
لا تتضمّن حاليًا موارد ذات صلة بالتعليقات الجديدة على الفيديوهات. تم تعديلsnippet.type
وcontentDetails.comment
في المرجع أيضًا.
-
-
أخطاء جديدة ومحدّثة
-
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
تفاصيل الخطأ activities.insert
رمز استجابة 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
الموضّحة أعلاه.تم أيضًا تعديل دليل نقل البيانات من خلال إضافة مثال للإبلاغ عن فيديو مسيء. وبفضل هذا التغيير، تتيح الآن واجهة برمجة التطبيقات في الإصدار 3 جميع ميزات واجهة برمجة التطبيقات في الإصدار 2 التي من المخطّط أن تتيحها. يتم أيضًا شرح جميع هذه الميزات في دليل نقل البيانات.
-
-
تعديلات على المراجع والأساليب الحالية
-
تحدّ
forDeveloper
، وهي مَعلمة الفلتر الجديدة لطريقةsearch.list
، من البحث لاسترداد الفيديوهات التي تم تحميلها من خلال تطبيق المطوّر أو موقعه الإلكتروني فقط. يمكن استخدام المَعلمةforDeveloper
مع مَعلمات البحث الاختيارية، مثل المَعلمةq
.بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو يتم تحميله باستخدام رقم المشروع المرتبط بتطبيق المطوِّر في Google Developers Console.
عندما يضبط طلب بحث مَعلمة
forDeveloper
علىtrue
في وقت لاحق، يستخدم خادم واجهة برمجة التطبيقات بيانات اعتماد التفويض الخاصة بالطلب لتحديد المطوِّر. وبالتالي، يمكن لمطوّر البرامج حصر النتائج بالفيديوهات التي يتم تحميلها من خلال التطبيق أو الموقع الإلكتروني الخاص به، وليس على الفيديوهات التي يتم تحميلها من خلال تطبيقات أو مواقع إلكترونية أخرى.توفّر الميزة الجديدة وظائف مشابهة لوظائف علامات المطوّرين التي تتوافق مع الإصدار الثاني من واجهة برمجة التطبيقات، وإن لم تكن مطابقة لها.
-
تتيح سمة
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
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل دليل نقل البيانات لشرح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة التعليقات من الإصدار 2 من واجهة برمجة التطبيقات.
يتضمّن الدليل أيضًا العديد من ميزات التعليق التي لا توفّرها الإصدار 2 من واجهة برمجة التطبيقات، ولكنّها متوافقة مع الإصدار 3 من واجهة برمجة التطبيقات. ومن بينها:
- استرداد التعليقات حول قناة
- استرداد كل سلاسل التعليقات المرتبطة بقناة، ما يعني أنّ ردّ واجهة برمجة التطبيقات يمكن أن يتضمّن تعليقات حول القناة أو أي من الفيديوهات المنشورة عليها
- تعديل نص التعليق
- وضع علامة على تعليق كمحتوى غير مرغوب فيه
- ضبط حالة الإشراف على تعليق
-
تم تعديل دليل الاشتراك في الإشعارات الفورية ليوضّح أنّ الإشعارات يتم توجيهها فقط إلى مركز Google PubSubHubBub وليس إلى مركز Superfeedr أيضًا كما هو موضّح سابقًا.
9 نيسان (أبريل) 2015
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك موارد
commentThread
وcomment
الجديدة في واجهة برمجة التطبيقات استرداد التعليقات وإدراجها وتعديلها وحذفها والإشراف عليها.-
يحتوي مورد
commentThread
على معلومات حول سلسلة محادثات على YouTube تتضمّن تعليقًا من المستوى الأعلى وردودًا على ذلك التعليق، إن توفّرت. يمكن أن يمثّل مرجعcommentThread
تعليقات حول فيديو أو قناة.إنّ التعليقات من المستوى الأعلى والردود هي في الواقع موارد
comment
مضمّنة في الموردcommentThread
. يُرجى العِلم أنّ مرجع "commentThread
" لا يحتوي بالضرورة على كل الردود على تعليق، ويجب استخدام الطريقةcomments.list
إذا أردت استرداد كل الردود المتعلقة بتعليق معيّن. بالإضافة إلى ذلك، لا يتم الرد على بعض التعليقات.تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد
commentThread
:commentThreads.list
– استرداد قائمة بسلاسل التعليقات. استخدِم هذه الطريقة لاسترداد التعليقات المرتبطة بفيديو أو قناة معيّنين.commentThreads.insert
– لإنشاء تعليق جديد في المستوى الأعلى (يمكنك استخدام الطريقةcomments.insert
للردّ على تعليق حالي.)commentThreads.update
– تعديل تعليق على مستوى أعلى
-
يحتوي مرجع
comment
على معلومات حول تعليق واحد على YouTube. يمكن أن يمثّل موردcomment
تعليقًا عن فيديو أو قناة. بالإضافة إلى ذلك، يمكن أن يكون التعليق تعليقًا من المستوى الأعلى أو ردًا على تعليق من المستوى الأعلى.تتيح واجهة برمجة التطبيقات الطرق التالية لموارد
comment
:comments.list
– استرداد قائمة بالتعليقات. استخدِم هذه الطريقة لاسترداد كل الردود على تعليق معيّن.comments.insert
– يمكنك إنشاء ردّ على تعليق حالي.comments.update
– تعديل تعليقcomments.markAsSpam
– الإبلاغ عن تعليق واحد أو أكثر كتعليق غير مرغوب فيهcomments.setModerationStatus
– ضبط حالة الإشراف على تعليق واحد أو أكثر على سبيل المثال، يمكنك محو تعليق لعرضه علنًا أو رفض تعليق باعتباره غير ملائم للعرض. يجب أن يوافق مالك القناة أو الفيديو المرتبطَين بالتعليقات على طلب البيانات من واجهة برمجة التطبيقات.comments.delete
– حذف تعليق
يُرجى العِلم أنّ نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات، الموضّح في سجلّ المراجعات بتاريخ 2 نيسان (أبريل) 2015، مطلوب لطلبات البيانات من طُرقcomments.insert
وcomments.update
وcomments.markAsSpam
وcomments.setModerationStatus
وcomments.delete
وcommentThreads.insert
وcommentThreads.update
. -
-
يوضّح دليل الاشتراك في الإشعارات الفورية الجديد ميزة واجهة برمجة التطبيقات الجديدة التي تتيح الإشعارات الفورية من خلال PubSubHubBub، وهو بروتوكول نشر/اشتراك من خادم إلى خادم للموارد التي يمكن الوصول إليها من الويب. يمكن لخادم طلب معاودة الاتصال PubSubHubBub تلقّي إشعارات خلاصة Atom عندما تُجري القناة أيًا من الأنشطة التالية:
- تحمّل فيديو
- تعديل عنوان فيديو
- تعديل وصف الفيديو
-
تم أيضًا تعديل دليل نقل البيانات للإشارة إلى الإتاحة الجديدة للإشعارات الفورية. ولكن نظرًا لأن واجهة برمجة التطبيقات v2 API كانت متوافقة مع العديد من الأنواع الأخرى من الإشعارات الفورية غير المتوافقة مع الإصدار 3 من واجهة برمجة التطبيقات، ستظل الإشارة إلى دعم PubSubHubBub مُدرَجة في القسم متوقّفة نهائيًا في هذا الدليل.
-
أصبح نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات نطاقًا صالحًا لأي طريقة لواجهة برمجة التطبيقات كانت متوافقة في السابق مع نطاقhttps://www.googleapis.com/auth/youtube
. -
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
invalidRating
تعرض الطريقة videos.rate
هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقّعة للمَعلمةrating
. -
لم تعُد طريقة
subscriptions.insert
تتيح الخطأsubscriptionLimitExceeded
الذي كان يشير في السابق إلى أنّ المشترك المحدَّد بالطلب تجاوز الحدّ الأقصى لنسبة الاشتراك.
2 أبريل 2015
يتضمّن هذا التحديث التغييرات التالية:
-
يمثّل المورد الجديد
captions
مسار ترجمة في YouTube. يرتبط مسار الترجمة بفيديو واحد فقط على YouTube.تتيح واجهة برمجة التطبيقات طُرقًا لإدراج مسارات الترجمة والشرح وإدراجها وتعديلها وتنزيلها وحذفها.
-
تم أيضًا تعديل دليل نقل البيانات لشرح كيفية نقل التطبيقات التي لا تزال تستخدم وظيفة الترجمة والشرح في الإصدار 2 من واجهة برمجة التطبيقات.
-
يتطلب نطاق
https://www.googleapis.com/auth/youtube.force-ssl
الجديد لواجهة برمجة التطبيقات الاتصال بخادم واجهة برمجة التطبيقات من خلال اتصال طبقة المقابس الآمنة (SSL).يمنح هذا النطاق الجديد مستوى الوصول نفسه كنطاق "
https://www.googleapis.com/auth/youtube
". وهذان النطاقان متطابقان من الناحية الوظيفية لأنّ خادم YouTube API لا يتوفّر إلّا عبر نقطة نهاية HTTPS. ونتيجةً لذلك، وعلى الرغم من أنّ نطاقhttps://www.googleapis.com/auth/youtube
لا يتطلب اتصالاً بطبقة المقابس الآمنة، ما مِن طريقة أخرى لطلب البيانات من واجهة برمجة التطبيقات.النطاق الجديد مطلوب لطلبات البيانات من جميع طُرق مورد
caption
.
11 آذار (مارس) 2015
يتضمّن هذا التحديث التغييرات التالية:
-
يتضمّن دليل نقل بيانات YouTube Data API (الإصدار 3) علامة تبويب جديدة باسم New in v3 API، وتعرض ميزات لا تتيحها واجهة برمجة التطبيقات v3 API. كانت الميزات نفسها مُدرَجة في السابق في علامات تبويب أخرى في الدليل، ولا تزال مُدرَجة فيها. على سبيل المثال، تمّ أيضًا إدراج الميزة الجديدة التي توضّح كيفية تعديل بيانات الحملات الترويجية ضمن الفيديو لإحدى القنوات ضمن علامة التبويب القنوات (الملفات الشخصية).
-
تمّ تعديل دليل نقل بيانات YouTube Data API (الإصدار 3) للإشارة إلى أنّ الإصدار 3 من واجهة برمجة التطبيقات سيوفّر إمكانية استخدام الإصدار 2 من واجهة برمجة التطبيقات التالية:
-
لقد عدّلنا دليل نقل بيانات YouTube Data API (الإصدار 3) للإشارة إلى أنّ الإصدار 2 من واجهة برمجة التطبيقات لن يتيح استخدام الميزات التالية:
-
استرداد الفيديوهات المقترَحة: لا تسترد واجهة برمجة التطبيقات v3 قائمة تتضمّن فقط فيديوهات مقترَحة لمستخدم واجهة برمجة التطبيقات الحالي. في المقابل، يمكنك استخدام واجهة برمجة التطبيقات v3 للعثور على الفيديوهات المقترَحة من خلال طلب إجراء
activities.list
وضبط قيمة المَعلمةhome
علىtrue
.في استجابة واجهة برمجة التطبيقات، يتوافق مورد مع فيديو مقترَح إذا كانت قيمة السمة
snippet.type
هيrecommendation
. في هذه الحالة، ستتضمّن السمتَانcontentDetails.recommendation.reason
وcontentDetails.recommendation.seedResourceId
معلومات حول سبب اقتراح الفيديو. يُرجى العِلم أنّه ليس هناك ما يضمن أنّ الردّ سيتضمّن عددًا معيّنًا من الفيديوهات المقترَحة. -
استرداد فيديوهات جديدة باشتراك – لا تسترد واجهة برمجة التطبيقات v3 قائمة تتضمّن فقط فيديوهات تم تحميلها مؤخرًا إلى قنوات يشترك فيها مستخدم واجهة برمجة التطبيقات. ومع ذلك، يمكنك استخدام واجهة برمجة التطبيقات v3 API للعثور على فيديوهات جديدة في الاشتراكات من خلال استدعاء الطريقة
activities.list
وضبط قيمة المَعلمةhome
علىtrue
.في استجابة واجهة برمجة التطبيقات، يشير المورد إلى فيديو اشتراك جديد إذا كانت قيمة السمة
snippet.type
هيupload
. يُرجى العِلم أنّه ليس هناك ما يضمن أن يحتوي الردّ على أي عدد محدّد من الفيديوهات الجديدة التي تمّ اشتراكك فيها. -
الإشعارات الفورية لتعديلات الخلاصة: كانت الإصدار 2 من واجهة برمجة التطبيقات تتيح الإشعارات الفورية باستخدام بروتوكول Simple Update Protocol (SUP) أو PubSubHubbub لمراقبة خلاصات نشاط المستخدمين في YouTube. تم إرسال إشعارات بشأن الاشتراكات الجديدة في القناة وعندما تم تقييم الفيديوهات أو مشاركتها أو وضع علامة عليها كمحتوى مفضّل أو التعليق عليها أو تحميلها.
ستتوافق واجهة برمجة التطبيقات v3 مع الإشعارات الفورية باستخدام بروتوكول PubSubHubbub، لكن لن تشمل الإشعارات سوى عمليات تحميل الفيديوهات والتعديلات على عناوين الفيديوهات أو أوصافها.
-
موقع القناة – استخدمت واجهة برمجة التطبيقات v2 العلامة
<yt:location>
لتحديد موقع المستخدم الجغرافي كما تم إدخاله في الملف الشخصي العلني للقناة على YouTube. على الرغم من أنّ بعض المطوّرين استخدموا هذا الحقل لربط قناة ببلد معيّن، لم يكن من الممكن استخدام بيانات الحقل بشكل منتظم لهذا الغرض. -
ضبط أو استرداد علامات المطوّرين – وفّرت واجهة برمجة التطبيقات v2 إمكانية ربط الكلمات الرئيسية أو علامات المطوّرين بفيديو في وقت تحميل الفيديو. لن يتم عرض علامات المطوّرين لمستخدمي YouTube، ولكن يمكن لمالكي الفيديوهات استرداد الفيديوهات التي تتطابق مع علامة مطوّر معيّنة.
ستوفّر واجهة برمجة التطبيقات في الإصدار 3 ميزة مشابهة، ولكنّها ليست متطابقة. وعلى وجه التحديد، سيتمكّن المطوّر من البحث عن الفيديوهات التي حمّلها تطبيقه الخاص. في ما يتعلّق بهذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو يتم تحميله برقم المشروع المرتبط بتطبيق المطوّر في Google Developers Console. ويستخدم المطور بعد ذلك رقم المشروع نفسه للبحث عن مقاطع الفيديو.
-
عرض الفيديوهات حسب تاريخ النشر أو عدد المشاهدات أو التقييم: في الإصدار 2 من واجهة برمجة التطبيقات، تتيح لك المَعلمة
orderby
ترتيب الفيديوهات في قائمة تشغيل حسب موضع الفيديو ومدته وتاريخ نشره وعنوانه والعديد من القيم الأخرى. في v3 API، يتم عادةً ترتيب عناصر قوائم التشغيل تصاعديًا حسب الموضع ولا تتوفّر خيارات الترتيب الأخرى.هناك بعض الاستثناءات. إنّ تحميل فيديو جديد أو فيديو مفضل أو فيديو أعجبك أو فيديو تمت مشاهدته مؤخرًا تتم إضافته تلقائيًا كأول عنصر (
snippet.position
=0
) لأنواع قوائم التشغيل التالية. لذلك، يتم فرز كل قائمة من هذه القوائم بشكل فعال بترتيب العنصر الأحدث إلى الأقدم بناءً على الأوقات التي تمت فيها إضافة العناصر إلى القائمة.- تحميلات المستخدمين
- الفيديوهات المفضلة
- مقاطع فيديو أعجبتك
- سجلّ المشاهدة
وتجدر الإشارة إلى أنّه تتم إضافة عنصر جديد مُضاف إلى قائمة التشغيل "المشاهدة لاحقًا" كآخر عنصر في تلك القائمة، وبالتالي يتم فرز هذه القائمة بشكل فعّال من الأقدم إلى الأحدث.
-
المعالجة المجمّعة: تتوافق واجهة برمجة التطبيقات v3 مع إحدى حالات استخدام المعالجة المجمّعة التي وفّرتها الإصدار 2 من واجهة برمجة التطبيقات. تتيح جميع طُرق واجهة برمجة التطبيقات من الإصدار 3، وهي
channels.list
وchannelSections.list
وguideCategories.list
وplaylistItems.list
وplaylists.list
وsubscriptions.list
وvideoCategories.list
وvideos.list
، استخدام المَعلمةid
التي يمكن استخدامها لتحديد قائمة بالمعرّفات مفصولة بفواصل (معرّفات الفيديوهات ومعرّفات القنوات وما إلى ذلك). باستخدام هذه الطرق، يمكنك استرداد قائمة بموارد متعددة من خلال طلب واحد.
وبفضل هذه التغييرات، يحدّد الدليل الآن جميع الوظائف التي كانت متاحة في واجهة برمجة التطبيقات (v2) القديمة التي سيتم إيقافها في إصدار واجهة برمجة التطبيقات الحالي (الإصدار 3).
-
4 آذار (مارس) 2015
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح الطريقتان
channelSections.delete
وchannelSections.update
الآن استخدام المَعلمةonBehalfOfContentOwner
، وهي متاحة لعدة طرق أخرى. -
تم إيقاف الخصائص التالية وخصائصها الفرعية نهائيًا:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
ملاحظة: لم تخضع أيّ من هذه السمات لسياسة إيقاف واجهات برمجة التطبيقات نهائيًا.
-
تحدّد السمة
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
الجديدة الخاصة بموردvideo
الأسباب التي تفسّر سبب حصول الفيديو على تقييم DJCQT (البرازيل). -
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف notFound (404)
channelNotFound
تعرض الطريقة channels.update
هذا الخطأ إذا كانت معلَمةid
الخاصة بالطلب تحدّد قناة لا يمكن العثور عليها.badRequest (400)
manualSortRequiredinvalidValue
تعرِض الطريقتان playlistItems.insert
وplaylistItems.update
هذا الخطأ إذا حاول الطلب ضبط موضع عنصر قائمة التشغيل، ولكنّ قائمة التشغيل لا تستخدم الترتيب اليدوي. على سبيل المثال، قد يتم ترتيب عناصر قائمة التشغيل حسب التاريخ أو مدى الرواج. يمكنك حلّ هذا الخطأ من خلال إزالة العنصرsnippet.position
من المورد المُرسَل في نص الطلب. إذا كنت تريد أن يكون لعنصر قائمة التشغيل موضع محدّد في القائمة، عليك أولاً تعديل إعداد ترتيب قائمة التشغيل إلى يدوي. ويمكن تعديل هذا الإعداد في مدير الفيديو في YouTube.forbidden (403)
channelClosed
تعرِض طريقة playlists.list
هذا الخطأ إذا كانت المعلَمةchannelId
في الطلب تحدّد قناة تم إغلاقها.forbidden (403)
channelSuspended
تعرِض طريقة playlists.list
هذا الخطأ إذا كانت المَعلمةchannelId
في الطلب تحدّد قناة تم تعليقها.forbidden (403)
playlistForbidden
تعرِض طريقة playlists.list
هذا الخطأ إذا كانت المَعلمةid
للطلب لا تتيح الطلب أو إذا لم يتم تفويض الطلب بشكل صحيح.notFound (404)
channelNotFound
تعرِض طريقة playlists.list
هذا الخطأ إذا كانت مَعلمةchannelId
في الطلب تحدّد قناة لا يمكن العثور عليها.notFound (404)
playlistNotFound
تعرض الطريقة playlists.list
هذا الخطأ إذا كانت المعلَمةid
للطلب تحدّد قائمة تشغيل يتعذّر العثور عليها.notFound (404)
videoNotFound
تعرِض الطريقة videos.list
هذا الخطأ إذا كانت المَعلمةid
في الطلب تحدّد فيديو يتعذّر العثور عليه.badRequest (400)
invalidRating
تعرض الطريقة videos.rate
هذا الخطأ إذا كان الطلب يحتوي على قيمة غير متوقعة للمعلَمةrating
.
2 آذار (مارس) 2015
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك طريقة
search.list
الآن استخدام المَعلمةrelevanceLanguage
، ما يتيح لك طلب النتائج الأكثر صلة بلغة معيّنة.لقد عدّلنا أيضًا دليل نقل بيانات YouTube Data API (الإصدار 3) لتوضيح كيفية استخدام هذه المَعلمة الجديدة. تعالج المَعلمة فجوة في الميزات كانت موجودة في السابق بين الإصدار الحالي لواجهة برمجة التطبيقات (الإصدار 3) والإصدار السابق (الإصدار 2) الذي سبق أن تم إيقافه نهائيًا.
-
تم أيضًا تعديل دليل نقل البيانات في YouTube Data API (الإصدار 3) للإشارة إلى إيقاف الخلاصات الخاصة وحقول البيانات الوصفية التي كانت يوفّرها الإصدار 2 من واجهة برمجة التطبيقات لوصف الأفلام والمقاطع الدعائية والبرامج التلفزيونية والمواسم التلفزيونية والحلقات التلفزيونية.
14 يناير 2015
يتضمّن هذا التحديث التغييرات التالية:
-
لقد عدّلنا دليل نقل البيانات من YouTube Data API (الإصدار 3) لشرح كيفية استخدام الإصدار 3 من واجهة برمجة التطبيقات لتحميل الفيديوهات باستخدام JavaScript. (يُرجى الاطّلاع على القسم تحميل فيديو للحصول على التفاصيل). تشبه هذه الوظيفة وظيفة التحميل المستنِدة إلى المتصفّح التي تتيحها واجهة برمجة التطبيقات v2 API. يُرجى العلم أنّ هذا التغيير في دليل نقل البيانات لا يعكس تغييرًا فعليًا في واجهة برمجة التطبيقات، بل يعكس مدى توفّر نموذج رمز جديد لتحميل الفيديوهات باستخدام JavaScript من جهة العميل.
نظرًا لتوفّر إمكانية تحميل الفيديوهات باستخدام مكتبة برامج JavaScript للعملاء وCORS، لم يعُد دليل نقل البيانات يُدرج عملية التحميل المستندة إلى المتصفّح كميزة قد يتم إيقافها نهائيًا في واجهة برمجة التطبيقات من الإصدار 3.
-
تم تعديل مستندات طريقة
videos.insert
لتضمين نموذج رمز JavaScript الجديد الموضّح أعلاه. تم أيضًا تعديل قائمة عيّنات رموز JavaScript لواجهة برمجة التطبيقات YouTube Data API (الإصدار 3).
11 تشرين الثاني (نوفمبر) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تغيرت تكلفة الحصة لاستدعاء طريقة
search.list
إلى 100 وحدة.ملاحظة مهمة: في العديد من الحالات، يمكنك استخدام طرق أخرى لواجهات برمجة التطبيقات لاسترداد المعلومات بتكلفة حصة أقل. على سبيل المثال، يمكنك استخدام الطريقتَين التاليتَين للعثور على الفيديوهات التي تم تحميلها إلى قناة GoogleDevelopers.
-
تكلفة الحصة: 100 وحدة
يمكنك استدعاء طريقة
search.list
والبحث عنGoogleDevelopers
. -
تكلفة الحصة: 6 وحدات
عليك استدعاء طريقة
channels.list
للعثور على معرّف القناة الصحيح. اضبط المَعلمةforUsername
علىGoogleDevelopers
والمَعلمةpart
علىcontentDetails
. في استجابة واجهة برمجة التطبيقات، تحدد السمةcontentDetails.relatedPlaylists.uploads
معرّف قائمة التشغيل للفيديوهات التي تم تحميلها إلى القناة.بعد ذلك، استخدِم طريقة
playlistItems.list
واضبط المَعلمةplaylistId
على المعرّف الذي تم تسجيله والمَعلمةpart
علىsnippet
.
-
8 تشرين الأول (أكتوبر) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
يحتوي مورد "
channel
" على خاصيتَين جديدتَين:-
يشير الحقل
status.longUploadsStatus
إلى ما إذا كانت القناة مؤهلة لتحميل فيديوهات تزيد مدّتها عن 15 دقيقة. لا يتم عرض هذه السمة إلا إذا فوّض مالك القناة طلب واجهة برمجة التطبيقات. في ما يلي القيم الصالحة للخاصية:allowed
: يمكن للقناة تحميل فيديوهات تزيد مدّتها عن 15 دقيقة.eligible
– القناة مؤهلة لتحميل فيديوهات تزيد مدتها عن 15 دقيقة ولكن يجب تفعيل الميزة أولاً.disallowed
– لا يمكن للقناة تحميل فيديوهات تزيد مدتها عن 15 دقيقة أو لا تكون مؤهَّلة لذلك.
اطّلِع على تعريف السمة للحصول على مزيد من المعلومات عن هذه القيم. يمكنك أيضًا الاطّلاع على مزيد من المعلومات التفصيلية حول هذه الميزة في مركز مساعدة YouTube.
-
يشير الحقل
invideoPromotion.useSmartTiming
إلى ما إذا كانت الحملة الترويجية للقناة تستخدم "التوقيت الذكي". تحاول هذه الميزة عرض العروض الترويجية في وقت يكون فيه احتمال النقر عليها مرتفعًا واحتمال أن تقاطع تجربة المشاهدة منخفضًا. تختار هذه الميزة أيضًا إعلانًا ترويجيًا واحدًا لعرضه على كل فيديو.
-
-
تم تعديل تعريفات السمتَين
snippet.title
وsnippet.categoryId
لموردvideo
لتوضيح طريقة تعامل واجهة برمجة التطبيقات مع طلبات الاتصال بطريقةvideos.update
. في حال استدعاء هذه الطريقة لتعديل الجزءsnippet
من موردvideo
، عليك ضبط قيمة لكلا السمتَين.إذا حاولت تعديل الجزء
snippet
من موردvideo
ولم تضبط قيمة لهذَين الموقعَين، تعرض واجهة برمجة التطبيقات الخطأinvalidRequest
. تم أيضًا تعديل وصف هذا الخطأ. -
إنّ السمة
contentDetails.contentRating.oflcRating
الخاصة بمورد "video
" والتي تحدّد تقييم الفيديو من "مكتب تصنيف الأفلام والأدب" في نيوزيلندا، تتوفّر الآن تقييمَين جديدَين:oflcRp13
وoflcRp16
. ويتوافق هذان مع التقييمَينRP13
وRP16
على التوالي. -
تتيح الطريقة
channelBanners.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
bannerAlbumFull
يحتوي ألبوم "صور قناة YouTube" الخاص بمالك القناة على عدد كبير جدًا من الصور. على مالك القناة الانتقال إلى http://photos.google.com والانتقال إلى صفحة الألبومات وإزالة بعض الصور من ذلك الألبوم.
12 أيلول (سبتمبر) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تغيّرت تكلفة الحصة لطلب إجراء طريقة
search.list
من وحدة واحدة إلى وحدتَين بالإضافة إلى تكلفة أجزاء الموارد المحدّدة.
13 آب (أغسطس) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح الطريقة
subscriptions.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
subscriptionLimitExceeded
تجاوز المشترك المحدّد في الطلب الحدّ الأقصى لمعدّل الاشتراك. يمكن محاولة اشتراكات أخرى بعد بضع ساعات.
12 آب (أغسطس) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
يشرح دليل جديد بعنوان نقل بيانات تطبيقك إلى YouTube Data API (الإصدار 3) كيفية استخدام YouTube Data API (الإصدار 3) لتنفيذ الوظائف المتاحة في YouTube Data API (الإصدار 2). تم إيقاف واجهة برمجة التطبيقات القديمة رسميًا اعتبارًا من 4 آذار (مارس) 2014. يهدف هذا الدليل إلى مساعدتك في نقل التطبيقات التي لا تزال تستخدم الإصدار 2 من واجهة برمجة التطبيقات إلى أحدث إصدار من واجهة برمجة التطبيقات.
8 تموز (يوليو) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح الطريقة
playlists.insert
الآن الخطأ التالي:نوع الخطأ تفاصيل الخطأ الوصف badRequest
maxPlaylistExceeded
يحدث هذا الخطأ إذا تعذّر إنشاء قائمة تشغيل لأنّ القناة بلغت الحد الأقصى المسموح به لعدد قوائم التشغيل.
18 يونيو 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل وصف كل طريقة من طرق واجهة برمجة التطبيقات لتضمين تكلفة الحصة الناتجة عن استدعاء تلك الطريقة. وبالمثل، تم تعديل تعريفات مَعلمات
part
لتحديد تكلفة الحصة لكل جزء يمكن استرجاعه في طلب واجهة برمجة التطبيقات. على سبيل المثال، تبلغ تكلفة الحصة لإجراء طلب إلى الطريقةsubscriptions.insert
حوالي 50 وحدة. يحتوي موردsubscription
أيضًا على ثلاثة أجزاء (snippet
وcontentDetails
وsubscriberSnippet
)، وتبلغ تكلفة كل جزء من هذه الأجزاء وحدتين.يُرجى تذكُّر أنّ تكاليف الحصة يمكن أن تتغيّر بدون تحذير.
-
أصبح المرجع
video
يتيح استخدام 43 نظامًا جديدًا للتقييم حسب الفئة العمرية، وهي تحدّد التقييمات التي حصلت عليها الفيديوهات من وكالات تقييم وطنية مختلفة.
28 مايو 2014
يتضمّن هذا التحديث التغييرات التالية:
-
يمكن الآن استخدام طريقة
search.list
مع المعلمتَينlocation
وlocationRadius
اللذان يتيحان لك البحث عن فيديوهات مرتبطة بموقع جغرافي. يجب أن يحدد الطلب قيمة لكلا المعلمتين لاسترداد النتائج استنادًا إلى الموقع، وستعرض واجهة برمجة التطبيقات رسالة خطأ إذا كان الطلب يتضمن إحدى المعلمتين فقط.-
تحدِّد المَعلمة
location
إحداثيات خط الطول/خط العرض في وسط المنطقة الجغرافية الدائرية. -
تحدّد مَعلمة
locationRadius
الحدّ الأقصى للمسافة التي يمكن أن يقع فيها الموقع الجغرافي المرتبط بالفيديو من وسط المنطقة كي يبقى الفيديو معروضًا في نتائج البحث.
-
13 أيار (مايو) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل سمة
invideoPromotion.items[]
لمصدرchannel
للإشارة إلى أنّه يمكنك عادةً ضبط عنصر ترويجي واحد فقط لقناتك. وإذا حاولت إدراج عدد كبير جدًا من العناصر التي يتم الترويج لها، ستعرض واجهة برمجة التطبيقات الخطأtooManyPromotedItems
، الذي يتضمّن رمز حالة 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
5,000 بايت video
snippet.tags
500 حرف: تجدر الإشارة إلى أنّ قيمة السمة هي قائمة ويتمّ احتساب الفواصل بين العناصر في القائمة ضمن الحدّ الأقصى. -
تم إيقاف السمة
brandingSettings.watch.featuredPlaylistId
الخاصة بمورد "channel
" نهائيًا. ستعرض واجهة برمجة التطبيقات رسالة خطأ إذا حاولت ضبط قيمتها. -
تمت إضافة سمات موارد
video
التالية إلى قائمة القيم التي يمكن ضبطها عند إدراج فيديو أو تعديله: -
تحدّد مستندات الأخطاء الآن رمز استجابة HTTP لكل نوع من أنواع الأخطاء.
-
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
invalidCriteria
تعرض الطريقة channels.list
هذا الخطأ إذا كان الطلب يحدد معلَمات فلاتر لا يمكن استخدامها مع بعضها البعض.badRequest (400)
channelTitleUpdateForbidden
تعرض الطريقة channels.update
هذا الخطأ إذا حاولت تعديل الجزءbrandingSettings
في القناة وتغيير قيمة السمةbrandingSettings.channel.title
. (يُرجى العِلم أنّ واجهة برمجة التطبيقات لا تعرض الخطأ في حال حذف الموقع).badRequest (400)
invalidRecentlyUploadedBy
تُعرِض طريقة channels.update
هذا الخطأ إذا حدّدت السمةinvideoPromotion.items[].id.recentlyUploadedBy
معرّف قناة غير صالح.badRequest (400)
invalidTimingOffset
تعرض الطريقة channels.update
هذا الخطأ إذا كان الجزءinvideoPromotion
يحدّد معادلة توقيت غير صالحة.badRequest (400)
tooManyPromotedItems
تعرض الطريقة channels.update
هذا الخطأ إذا كان الجزءinvideoPromotion
يحدّد عددًا أكبر من العدد المسموح به من السلع التي يتم الترويج لها.forbidden (403)
promotedVideoNotAllowed
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.videoId
تحدّد معرّف فيديو يتعذّر العثور عليه أو لا يمكن استخدامه كعنصر تم الترويج له.forbidden (403)
websiteLinkNotAllowed
تعرِض طريقة channels.update
هذا الخطأ إذا كانت الخاصيةinvideoPromotion.items[].id.websiteUrl
تحدّد عنوان URL غير مسموح به.required (400)
requiredTimingType
تعرِض طريقة channels.update
هذه الرسالة الخطأ إذا لم يحدِّد الطلب إعدادات التوقيت التلقائية لوقت عرض YouTube لعنصر ترويجي.required (400)
requiredTiming
يجب أن تحدّد الطريقة channels.update
عنصرinvideoPromotion.items[].timing
لكل سلعة يتم الترويج لها.required (400)
requiredWebsiteUrl
يجب أن تحدّد طريقة channels.update
سمةinvideoPromotion.items[].id.websiteUrl
لكل عنصر ترويجي.badRequest (400)
invalidPublishAt
تعرض الطريقة videos.insert
هذا الخطأ إذا كانت البيانات الوصفية للطلب تحدّد وقت نشر مجدول غير صالح.
4 مارس 2014
يتضمّن هذا التحديث التغييرات التالية:
-
وأصبح الإصدار الثالث من YouTube Data API خاضعًا الآن لسياسة الإيقاف الواردة في بنود خدمة واجهات برمجة تطبيقات YouTube. يُرجى العلم أنّ الصفحة التي تسرد واجهات برمجة التطبيقات الخاضعة لسياسة الإيقاف تستثني على وجه التحديد بعض وظائف واجهة برمجة التطبيقات من الإصدار 3 من الخضوع للسياسة.
5 كانون الأول (ديسمبر) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل مستندات طريقة
search.list
لتوضيح أنّه ليس عليك تحديد قيمة لمَعلمة فلتر واحدة بالضبط عند إرسال طلب بحث. بدلاً من ذلك، يمكنك ضبط قيمة لمَعلمات فلتر صفرية أو لمَعلمة فلتر واحدة. -
تم تعديل تعريفات المَعلمات الخاصة بطريقة
search.list
للإشارة إلى أنّه يجب ضبط قيمة المَعلمةtype
علىvideo
إذا حدّدت أيضًا قيمة لأيٍّ من المَعلمات التالية:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
تم تقليل الحد الأدنى لحجم صور بانر القناة التي تم تحميلها إلى 2048 بكسل × 1152 بكسل. (كان الحد الأدنى للحجم في السابق 2120 بكسل × 1192 بكسل). بالإضافة إلى ذلك، يُرجى العلم أنّ
channel
مستندات الموارد تحدّد الحد الأقصى لحجم جميع صور البانر التي يتم عرضها من واجهة برمجة التطبيقات. على سبيل المثال، يبلغ الحد الأقصى لحجم صورةbrandingSettings.image.bannerTvImageUrl
لتطبيقات التلفزيون 2120 بكسل × 1192 بكسل، ولكن قد تكون الصورة الفعلية 2048 × 1152 بكسل. يوفر مركز مساعدة YouTube إرشادات إضافية لتحسين صورة القناة لعرضها على أنواع مختلفة من الأجهزة. -
تم تعديل العديد من تعريفات سمات الموارد
channel
لتعكس المعلومات التالية:- يمكن أن تتألف قيمة السمة
brandingSettings.channel.description
من 1,000 حرف كحدّ أقصى. - يجب ألّا يزيد طول السمة
brandingSettings.channel.featuredChannelsTitle
عن 30 حرفًا. - يمكن الآن أن يعرض موقع
brandingSettings.channel.featuredChannelsUrls[]
ما يصل إلى 100 قناة. - يجب أن تحدّد قيمة السمة
brandingSettings.channel.unsubscribedTrailer
، في حال ضبطها، معرّف فيديو YouTube الخاص بفيديو علني أو غير مُدرَج يملكه مالك القناة.
- يمكن أن تتألف قيمة السمة
-
تتيح الآن طريقة
channels.update
إجراء تعديلات على السمةinvideoPromotion.items[].promotedByContentOwner
. يشير هذا السمة إلى ما إذا كان سيتم عرض اسم مالك المحتوى عند عرض العرض الترويجي. ولا يمكن ضبطها إلا إذا تم تقديم طلب واجهة برمجة التطبيقات الذي يضبط قيمة السمة نيابةً عن مالك المحتوى باستخدام المَعلمةonBehalfOfContentOwner
. -
تتيح الطريقتان
playlistItems.list
وplaylistItems.insert
الآن استخدام المَعلمةonBehalfOfContentOwner
، وهي متاحة لعدة طرق أخرى. -
يمكن الآن للخاصية
contentDetails.contentRating.acbRating
تحديد تقييم من مجلس التصنيف الأسترالي (ACB) للأفلام أو من هيئة الاتصالات والإعلام الأسترالية (ACMA) لبرامج الأطفال التلفزيونية. -
تحدِّد السمتَان الجديدتَان
contentDetails.contentRating.catvRating
وcontentDetails.contentRating.catvfrRating
التقييمات التي حصل عليها الفيديو بموجب نظام تصنيف البرامج التلفزيونية الكندي ونظام التقييم باللغة الفرنسية Régie du cinéma الذي يُستخدَم في مقاطعة كيبك، على التوالي. -
تشير السمة
snippet.assignable
الجديدة في الموردvideoCategory
إلى ما إذا كان يمكن ربط الفيديوهات المعدَّلة أو الفيديوهات المحمّلة حديثًا بفئة الفيديو تلك. -
تمت إضافة عيّنات التعليمات البرمجية للطُرق التالية:
activities.insert
(انتقال)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(انتقال)search.list
(Go)thumbnails.set
(Java)videos.insert
(Go)
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
الجديدة التقييم الذي حصل عليه الفيديو من الوزير الإيطالي "Ministero dei Beni e delle Attivita Culturei e del Turismo" (الوزير الإيطالي). -
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest
invalidImage
تعرض الطريقة thumbnails.set
هذا الخطأ إذا كان محتوى الصورة المقدَّم غير صالح.forbidden
videoRatingDisabled
تعرض الطريقة videos.rate
هذا الخطأ إذا أوقف مالك الفيديو الذي يتم تقييمه ميزة التقييمات لهذا الفيديو.
27 آب (أغسطس) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
يحدد مورد
watermark
الجديد صورة يتم عرضها أثناء عمليات تشغيل فيديوهات قناة محددة. يمكنك أيضًا تحديد قناة مستهدَفة سيتمّ ربط الصورة بها، بالإضافة إلى تفاصيل التوقيت التي تحدّد وقت ظهور العلامة المائية أثناء عمليات تشغيل الفيديو ومدة ظهورها.تعمل طريقة
watermarks.set
على تحميل صورة العلامة المائية للقناة وضبطها. تؤدي الطريقةwatermarks.unset
إلى حذف صورة العلامة المائية للقناة.تصف مستندات الخطأ رسائل الخطأ التي تتيحها واجهة برمجة التطبيقات بشكل خاص للطريقتَين
watermarks.set
وwatermarks.unset
. -
تحتوي السمة
statistics.hiddenSubscriberCount
الجديدة لمصدرchannel
على قيمة منطقية تشير إلى ما إذا كان عدد المشتركين في القناة مخفيًا. بهذه الطريقة، تكون قيمة الموقعfalse
إذا كان عدد المشتركين في القناة مرئيًا بشكل علني. -
تتيح الطريقة
playlists.list
الآن استخدام المعلمتَينonBehalfOfContentOwner
وonBehalfOfContentOwnerChannel
. إنّ هاتين المَعلمتَين متوافقتان مع العديد من الطرق الأخرى. -
تتيح الآن طريقة
videos.list
استخدام المَعلمةregionCode
التي تحدِّد منطقة المحتوى المطلوب استرداد رسم بياني لها. يمكن استخدام هذه المَعلمة فقط مع المَعلمةchart
. قيمة المَعلمة هي رمز بلد وفقًا لمعيار ISO 3166-1 alpha-2. -
يوضِّح
error documentation
خطأ الطلب الشائع الجديد التالي، والذي قد يحدث لعدة طُرق لواجهة برمجة التطبيقات:نوع الخطأ تفاصيل الخطأ الوصف forbidden
insufficientPermissions
إنّ النطاقات المرتبطة برمز OAuth 2.0 المميّز المقدَّم للطلب غير كافية للوصول إلى البيانات المطلوبة.
15 آب (أغسطس) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
يتضمّن عنصر
invideoPromotion
في موردchannel
السمات الجديدة المعدَّلة التالية:-
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد موقع إلكتروني كعنصر تم الترويج له. لإجراء ذلك، اضبط قيمة السمة
invideoPromotion.items[].id.type
علىwebsite
واستخدِم السمةinvideoPromotion.items[].id.websiteUrl
الجديدة لتحديد عنوان URL. استخدِم أيضًا السمةinvideoPromotion.items[].customMessage
الجديدة لتحديد رسالة مخصّصة لعرضها في العرض الترويجي.ويمكن أن تكون الروابط مرتبطة بمواقع إلكترونية أو مواقع تجّار أو مواقع شبكات تواصل اجتماعي. يمكنك الاطّلاع على تعليمات "مركز المساعدة" في YouTube حول المواقع الإلكترونية المرتبطة ومواقع التجّار للحصول على مزيد من المعلومات حول تفعيل الروابط المؤدية إلى المحتوى الخاص بك.
عند إضافة روابط ترويجية، أنت توافق على عدم استخدام هذه الروابط لإعادة توجيه الزيارات إلى مواقع إلكترونية غير مصرّح بها وعلى أن تكون هذه الروابط متوافقة مع سياسات AdWords وسياسات إعلانات YouTube وإرشادات المنتدى وبنود الخدمة في YouTube.
-
تمّت إعادة تنظيم السمات ذات الصلة بإعدادات التوقيت لعرض العناصر الترويجية أثناء تشغيل الفيديو:
-
تم نقل العنصر
invideoPromotion.timing
إلىinvideoPromotion.items[].timing
. يتيح لك هذا العنصر الآن تخصيص بيانات التوقيت لكل عنصر ترويجي في قائمةinvideoPromotion.items[]
. -
يحدّد عنصر
invideoPromotion.defaultTiming
الجديد إعدادات التوقيت التلقائية لعرضك الترويجي. تحدّد هذه الإعدادات وقت عرض سلعة تم الترويج لها أثناء تشغيل أحد فيديوهات قناتك. يمكنك إلغاء التوقيت التلقائي لأي عنصر ترويجي معيّن باستخدام عنصرinvideoPromotion.items[].timing
. -
تحدد السمة
invideoPromotion.items[].timing.durationMs
الجديدة المدة الزمنية بالملي ثانية التي يجب أن يعرضها العرض الترويجي. يحتوي عنصرinvideoPromotion.defaultTiming
أيضًا على حقلdurationMs
يحدّد المدة التلقائية التي سيتم عرض العنصر الترويجي خلالها.
-
-
تم نقل السمتَين
invideoPromotion.items[].type
وinvideoPromotion.items[].videoId
إلى العنصرinvideoPromotion.items[].id
.
-
-
تتيح طريقة
subscriptions.list
الآن المَعلمتَينonBehalfOfContentOwner
وonBehalfOfContentOwnerChannel
. كلتا المعلمتين مدعومتان بالفعل لعدة طرق أخرى. -
في استجابة واجهة برمجة التطبيقات لطلب
thumbnails.set
، تم تغيير قيمة السمةkind
منyoutube#thumbnailListResponse
إلىyoutube#thumbnailSetResponse
. -
تمت إضافة عيّنات رموز برمجية للطرق التالية:
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)
لاحظ أن مثال بايثون لطريقة
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
الخاصة بها لاسترداد قائمة بالمشتركين في قناة المستخدم الذي تمت مصادقته. -
تتيح جميع طرق
channelBanners.insert
وchannels.update
وvideos.getRating
وvideos.rate
استخدام المَعلمةonBehalfOfContentOwner
. تشير هذه المَعلمة إلى أنّ المستخدم الذي تمّت مصادقة هويته يتصرّف نيابةً عن مالك المحتوى المحدّد في قيمة المَعلمة. -
تم تعديل المستندات الخاصة بطريقة
channels.update
لتوضيح أنّه يمكن استخدامها لتعديل كائنbrandingSettings
في الموردchannel
وخصائصه الفرعية. تضم المستندات الآن أيضًا قائمة السمات المعدَّلة التي يمكنك ضبطها للعنصرinvideoPromotion
في موردchannel
. -
يوضِّح
error documentation
الأخطاء الجديدة التالية:نوع الخطأ تفاصيل الخطأ الوصف forbidden
accountDelegationForbidden
لا يقتصر هذا الخطأ على طريقة معيّنة لواجهة برمجة التطبيقات. ويشير ذلك إلى أنّ المستخدم الذي تمّت مصادقته غير مصرَّح له بالتصرّف نيابةً عن حساب Google المحدّد. forbidden
authenticatedUserAccountClosed
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. يشير ذلك إلى أن حساب YouTube للمستخدم الذي تمت مصادقته قد تم إغلاقه. إذا كان المستخدم يتصرّف نيابةً عن حساب آخر على Google، يشير هذا الخطأ إلى أنّ الحساب الآخر تم إغلاقه. forbidden
authenticatedUserAccountSuspended
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. ويشير ذلك إلى أنّ حساب المستخدم الذي تمّت المصادقة عليه على YouTube معلّق. إذا كان المستخدم يتصرّف نيابةً عن حساب آخر على Google، يشير هذا الخطأ إلى أنّ الحساب الآخر معلّق. forbidden
authenticatedUserNotChannel
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. يشير هذا الرمز إلى أنّ خادم واجهة برمجة التطبيقات لا يمكنه تحديد القناة المرتبطة بطلب البيانات من واجهة برمجة التطبيقات. إذا كان الطلب مفوَّضًا ويستخدم المَعلمة onBehalfOfContentOwner
، عليك أيضًا ضبط المَعلمةonBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. لا يُسمح لمستخدم نظام إدارة المحتوى بالتصرف نيابةً عن مالك المحتوى المحدّد. notFound
contentOwnerAccountNotFound
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. لم يتم العثور على حساب مالك المحتوى المحدّد. badRequest
invalidPart
لا يقتصر هذا الخطأ على طريقة معيّنة لواجهة برمجة التطبيقات. تحدّد مَعلمة part
للطلب الأجزاء التي لا يمكن كتابتها في الوقت نفسه.badRequest
videoChartNotFound
تُعرِض طريقة videos.list
هذا الخطأ عندما يحدّد الطلب رسمًا بيانيًا غير متوافق أو غير متوفّر للفيديو.notFound
videoNotFound
تعرض الطريقة videos.update
هذا الخطأ للإشارة إلى تعذّر العثور على الفيديو الذي تحاول تحديثه. تحقّق من قيمة السمةid
في نص الطلب للتأكّد من صحتها.
10 حزيران (يونيو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك المَعلمة
forUsername
الجديدة في الطريقةchannels.list
استرداد معلومات عن قناة معيّنة من خلال تحديد اسم المستخدم الخاص بها على YouTube. -
تتيح الطريقة
activities.list
الآن استخدام المَعلمةregionCode
التي توجِّه واجهة برمجة التطبيقات إلى عرض نتائج ذات صلة بالبلد المحدّد. تستخدم YouTube هذه القيمة عندما لا يقدّم نشاط المستخدم المفوَّض السابق على YouTube معلومات كافية لإنشاء خلاصة النشاط. -
تتضمّن موارد قوائم التشغيل الآن السمة
snippet.tags
. لن يتم إرجاع السمة إلا للمستخدمين المفوّضين الذين يسترجعون بيانات حول قوائم التشغيل الخاصة بهم. يمكن للمستخدمين المفوّضين أيضًا ضبط علامات قائمة التشغيل عند طلب إحدى الطريقتَينplaylists.insert
أوplaylists.update
. -
إنّ المَعلمة
onBehalfOfContentOwner
، التي كانت متوافقة سابقًا مع الطريقتَينchannels.list
وsearch.list
، أصبحت متوافقة الآن أيضًا مع الطريقتَينvideos.insert
وvideos.update
وvideos.delete
. يُرجى العِلم أنّه عند استخدام هذه المَعلمة في طلب إلى طريقةvideos.insert
، يجب أن يحدِّد الطلب أيضًا قيمة للمَعلمة الجديدةonBehalfOfContentOwnerChannel
التي تحدِّد القناة التي ستتم إضافة الفيديو إليها. يجب أن تكون القناة مرتبطة بمالك المحتوى الذي تحدّده معلَمةonBehalfOfContentOwner
.تشير المعلمة إلى أن بيانات اعتماد تفويض الطلب تحدد هوية مستخدم نظام إدارة محتوى YouTube الذي يتصرّف نيابةً عن مالك المحتوى المحدد في قيمة المعلمة. يجب أن يكون حساب نظام إدارة المحتوى الذي يصادق عليه المستخدم مرتبطًا بحساب مالك محتوى YouTube المحدّد.
هذه المَعلمة مخصّصة لشركاء المحتوى الذين يملكون ويديرون العديد من القنوات المختلفة على YouTube. تتيح هذه المَعلمة لهؤلاء الشركاء المصادقة مرة واحدة والوصول إلى جميع بيانات الفيديوهات والقنوات، بدون الحاجة إلى تقديم بيانات اعتماد المصادقة لكل قناة على حدة.
وفي ما يتعلق بهذا الإصدار تحديدًا، تتيح المَعلمة الآن لشريك المحتوى إدراج الفيديوهات أو تعديلها أو حذفها في أي من قنوات YouTube التي يملكها هذا الشريك.
-
يوضِّح
error documentation
الأخطاء الجديدة التالية:نوع الخطأ تفاصيل الخطأ الوصف forbidden
insufficientCapabilities
هذا الخطأ ليس خاصًا بطريقة معيّنة لواجهة برمجة التطبيقات. ويشير ذلك إلى أنّ مستخدم نظام إدارة المحتوى الذي يستدعي واجهة برمجة التطبيقات لا يملك أذونات كافية لتنفيذ العملية المطلوبة. يرتبط هذا الخطأ باستخدام المَعلمة onBehalfOfContentOwner
، وهي متوافقة مع العديد من طرق واجهة برمجة التطبيقات.unauthorized
authorizationRequired
تُرجع طريقة activities.list
هذا الخطأ عندما يستخدم الطلب المَعلمةhome
ولكنّه غير مفوَّض بشكل صحيح. -
في المورد
channels
، تمت إزالة السمةinvideoPromotion.channelId
لأنّه سبق أن تم تحديد معرّف القناة باستخدام سمةid
الخاصة بالمورد. -
يوضّح دليل العمل مع معرّفات القنوات الجديد كيفية استخدام واجهة برمجة التطبيقات لمعرّفات القنوات. قد يكون هذا الدليل مفيدًا بشكل خاص للمطوّرين الذين ينتقلون من الإصدار السابق من واجهة برمجة التطبيقات ولديهم تطبيقات تطلب إما المحتوى لمستخدم
default
أو التي تعتمد على فكرة أنّ كل قناة على YouTube لها اسم مستخدم فريد، وهو الأمر نفسه.
22 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك طريقة
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
.يُرجى العلم أنّ هذا التغيير لا يؤثّر في الموارد الحالية التي تعرض صورًا مصغّرة. يتم عرض الصور المصغّرة في هذه المراجع بالطريقة نفسها التي كانت متّبعة في السابق، إلا أنّ المستندات تُدرج الآن أسماء أحجام الصور المصغّرة المختلفة التي قد تعرِضها واجهة برمجة التطبيقات.
-
يحدِّد الجزء
brandingSettings
الجديد من موردchannel
الإعدادات والنصوص والصور لصفحة القناة وصفحات مشاهدة الفيديوهات. -
يحتوي مورد "
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
البرازيل Departamento de Justiça وClassificação وQualificação e Títulos contentDetails.contentRating.djctqRating
كندا نظام تقييم الفيديوهات المنزلية الكندي (CHVRS) contentDetails.contentRating.chvrsRating
فرنسا Centre 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 Cinematografí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
– Python-
playlistItems.list
– Java وJavaScript وPHP وPython وRuby playlists.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 لاسترداد قائمة بالقيم الصالحة.