تعرض هذه الصفحة التغييرات في YouTube Data API (الإصدار 3) والتعديلات على المستندات. الاشتراك في سجلّ التغييرات هذا
30 أبريل 2024
ملاحظة: هذا إشعار عن الإيقاف النهائي.
يتضمّن هذا التحديث التغييرات التالية:
لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج مناقشات حول القناة أو استردادها. يتوافق هذا التغيير مع الوظائف المتوفّرة على موقع YouTube الإلكتروني الذي لا يتيح نشر التعليقات على القنوات.
13 آذار (مارس) 2024
ملاحظة: هذا إشعار عن الإيقاف النهائي.
يتضمّن هذا التحديث التغييرات التالية:
المعلمة sync
captions.insert
و
طريقتان (captions.update
)
تم إيقافه نهائيًا. سيتوقف YouTube عن إتاحة
اعتبارًا من 12 أبريل 2024.
نتيجةً لهذا التغيير، على المطوّرين تضمين معلومات التوقيت عند الإدراج تحديث مقاطع الترجمة والشرح وإلا سيتعذّر إتمام التحميل.
12 مارس 2024
يتضمّن هذا التحديث التغييرات التالية:
تم تعديل المستندات الخاصة بمورد "captions
" للإشارة إلى أنّ الحدّ الأقصى المسموح به للطول هو snippet.name
.
يتكون من 150 حرفًا. تعرض واجهة برمجة التطبيقات علامة nameTooLong
إذا كان اسم المسار أطول من ذلك.
7 مارس 2024
ملاحظة: هذا إشعار عن الإيقاف النهائي.
موقع المورد "channel
"
تم إيقاف brandingSettings.channel.moderateComments
نهائيًا. سيتم إيقاف YouTube
متوافقة مع المَعلمة اعتبارًا من 7 مارس 2024
31 يناير 2024
يتضمّن هذا التحديث التغييرات التالية:
forHandle
الجديد لطريقة channels.list
من استرداد معلومات عن قناة من خلال تحديد اسمها المعرِّف على YouTube.
9 تشرين الثاني (نوفمبر) 2023
كل المراجع لمورد videoId
ضمن Comments
تمّت إزالتها بسبب عدم عرض مورد videoId
باستخدام طلب بيانات من واجهة برمجة التطبيقات.
12 أيلول (سبتمبر) 2023
ملاحظة: هذا إشعار عن الإيقاف النهائي.
الطريقة comments.markAsSpam
تم إيقافها لعدة سنوات. إنّ هذه الطريقة غير متاحة على YouTube حاليًا،
أطول من ذلك عبر واجهة برمجة التطبيقات.
تمت إضافة إشعار بالإيقاف إلى جميع المستندات التي تشير إلى
طريقة comments.markAsSpam
.
22 آب (أغسطس) 2023
تتيح الطريقة search.list
الآن
videoPaidProductPlacement
. تتيح لك هذه المعلمة فلترة نتائج البحث لتشمل فقط الفيديوهات التي
يشير صانع المحتوى إلى أنّه يقدّم إعلانًا ترويجيًا مدفوعًا.
18 آب (أغسطس) 2023
تعريف السمة video
liveStreamingDetails.concurrentViewers
لملاحظة أنّ عدد المشاهدين المتزامنين الذين سترجعه YouTube Data API قد
عن أعداد المشاهدين المتزامنين التي تمت معالجتها بعد إزالة المحتوى غير المرغوب فيه المتوفرة على YouTube
"إحصاءات YouTube" تشير رسالة الأشكال البيانية
مركز مساعدة YouTube
توفِّر معلومات إضافية حول مقاييس البث المباشر.
7 آب (أغسطس) 2023
كما أعلنّا في 12 حزيران (يونيو) 2023،
طريقة search.list
تم إيقاف المعلمة relatedToVideoId
نهائيًا. لم تعد هذه المعلمة
ومتوافقة، وتمت إزالة المراجع المتعلقة بالمعلَمة من وثائق واجهة برمجة التطبيقات.
28 حزيران (يونيو) 2023
يمكن الآن استخدام طريقة thumbnails.set
الخطأ uploadRateLimitExceeded
، الذي يشير إلى تحميل عدد كبير جدًا من الفيديوهات على القناة
الصور المصغرة خلال آخر 24 ساعة ويجب إعادة المحاولة لاحقًا.
12 حزيران (يونيو) 2023
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تتيح لك طريقة search.list
تم إيقاف المعلمة relatedToVideoId
نهائيًا. سيتوقف 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 أو بعد هذا التاريخ،
سيتوقف التوافق مع معرّفات مسارات الترجمة والشرح القديمة. في ذلك الوقت، كان استدعاء أي من طرق واجهة برمجة التطبيقات هذه
الذي يتضمن معرّف مسار ترجمة وشرح قديم إلى
خطأ واحد (captionNotFound
).
للاستعداد لهذا التغيير، يجب التخطيط لاستبدال جميع بيانات مسار الترجمة المخزّنة بالكامل.
من الآن وحتى 1 ديسمبر 2022. هذا يعني أنّه في أي فيديو تخزّن فيه مسار الترجمة والشرح
فيجب حذف البيانات المخزنة حاليًا، ثم استدعاء
captions.list
لاسترداد
مجموعة حالية من مسارات الترجمة والشرح للفيديو وتخزين البيانات في استجابة واجهة برمجة التطبيقات
بشكل طبيعي.
12 تموز (يوليو) 2022
تمّ تعديل بنود خدمات YouTube API. من فضلك راجع بنود الخدمة الخاصة بخدمات YouTube API - المراجعة السجلّ لمزيد من المعلومات.
27 نيسان (أبريل) 2022
تم تعديل وصف طريقة videos.insert
للإشارة إلى أنّ الحد الأقصى لحجم ملف الفيديوهات المحمَّلة قد زاد من 128 غيغابايت إلى 256 غيغابايت.
8 نيسان (أبريل) 2022
تعتمد الطريقة subscriptions.list
myRecentSubscribers
وmySubscribers
تعريفات المَعلمات
تم تحديثهما للإشارة إلى أن الحد الأقصى لعدد المشتركين الذي تعرضه واجهة برمجة التطبيقات قد يكون محدودًا.
يمثّل هذا التغيير تصحيحًا للمستندات وليس تغييرًا في سلوك واجهة برمجة التطبيقات.
15 كانون الأول (ديسمبر) 2021
كما أعلنّا في 18 تشرين الثاني (نوفمبر) 2021، وبالتزامن مع
التغييرات التي قد تؤدي إلى إبداء عدم الإعجاب بالفيديو
خاصّة على مستوى منصة YouTube كلّها، يشكّل المورد video
statistics.dislikeCount
ملكية خاصة الآن.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في مدونة YouTube الرسمية.
18 تشرين الثاني (نوفمبر) 2021
وبالتزامن مع التغييرات على
تغيير إعدادات خصوصية عدد النقرات على الزر "لم يعجبني" إلى "خاص" على منصة YouTube بأكملها، فمصدر video
statistics.dislikeCount
جعله خاصًا اعتبارًا من 13 كانون الأول (ديسمبر) 2021. وهذا يعني أن الموقع سيتم فقط
تضمينها في استجابة واجهة برمجة التطبيقات من نقطة النهاية videos.list
إذا كان طلب البيانات من واجهة برمجة التطبيقات
مصادقًا من مالك الفيديو.
لم تتأثر نقطة النهاية videos.rate
.
من خلال هذا التغيير.
المطوِّرون الذين لا يعرضون عدد غير المعجبين علنًا وما زالوا بحاجة إلى عدد غير المعجبين يمكن لعميل واجهة برمجة التطبيقات تقديم طلب لإدراجه في قائمة مسموح بها للاستثناء. ولتقديم طلب إعفاء، يجب: يجب إكمال هذه الخطوة نموذج الطلب.
يمكنك الاطّلاع على المزيد من المعلومات حول هذا التغيير في مدونة YouTube الرسمية.
2 تموز (يوليو) 2021
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تم إيقاف نقطة نهاية commentThreads.update
نهائيًا ولم تعُد متاحة.
تكرّرت نقطة النهاية هذه الوظيفة المتوفّرة من خلال نقاط نهاية أخرى في واجهة برمجة التطبيقات. بدلاً من ذلك، يمكنك
الِاتِّصَالْ بِـ comments.update
commentThreads
، يمكنك إجراء مكالمة ثانوية
طريقة commentThreads.list
.
1 تموز (يوليو) 2021
على جميع المطوّرين الذين يستخدمون "خدمات واجهة برمجة التطبيقات" في YouTube إكمال عملية "التدقيق في الامتثال لواجهة برمجة التطبيقات" ليتم منحهم أكثر من الحصة التلقائية التي تبلغ 10,000 وحدة. حتى الآن، يتولّى المطوّرون مهمة ملء خدمات YouTube API - نموذج التدقيق وإضافة الحصص وعملية التدقيق المتعلّقة بالامتثال وطلبات تخصيص وحدات الحصص الإضافية.
لتوضيح هذه العمليات وتلبية احتياجات المطوّرين الذين يستخدمون خدمات واجهة برمجة التطبيقات بشكل أفضل، سنضيف ثلاثة نماذج جديدة ودليلاً لإكمال هذه النماذج:
- نموذج طلبات المطوِّرين المدققين: يمكن للمطوّرين الذين اجتازوا عملية التدقيق في مدى الامتثال لواجهة برمجة التطبيقات هذا ملء هذا النموذج الأقصر وإرساله لطلب تمديد الحصة المخصَّصة.
- نموذج طلب إعادة النظر: يمكن للمطوّرين ملء هذا النموذج وإرساله إذا تعذّر على مشاريع واجهة برمجة التطبيقات الخاصة بهم التدقيق في مدى الامتثال (أو تم رفض زيادة وحدات الحصص).
- تغيير نموذج التحكّم: على المطوّرين أو أي طرف يعمل على عميل واجهة برمجة التطبيقات نيابةً عن المطوّر ملء هذا النموذج وإرساله، وذلك من خلال شراء أسهم أو بيعها أو دمج أو غير ذلك من أشكال المعاملات المؤسسية (على سبيل المثال، من خلال شراء أسهم أو بيعها). يتيح ذلك لفريق واجهة برمجة التطبيقات في YouTube تعديل سجلّاتنا والتدقيق في مدى امتثال مشروع واجهة برمجة التطبيقات الجديد لحالة الاستخدام والتحقّق من توزيع الحصة الحالية للمطوّر.
سيعلمنا كل نموذج جديد بقصدك من استخدام واجهة برمجة تطبيقات YouTube وسنساعدك بشكل أفضل.
يمكنك الاطّلاع على مزيد من التفاصيل في دليل عمليات التدقيق في الامتثال لواجهة برمجة التطبيقات الجديد.
12 أيار (مايو) 2021
ملاحظة: هذا إشعار عن الإيقاف النهائي.
يشمل هذا التعديل التغييرات التالية في واجهة برمجة التطبيقات:
-
لمورد
channel
contentDetails.relatedPlaylists.favorites
تم إيقاف العمل بها نهائيًا. لقد سبق أن تم إيقاف وظيفة الفيديوهات المفضّلة. عدة سنوات كما هو مذكور في 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[]
وبالاقتران مع هذا التغيير، تعتمد طريقة
channelSection.list
تحتوي المعلمةhl
أيضًا على تم إيقافها نهائيًا لأنّ الميزات التي تتوافق معها غير متوافقة.تمّت إزالة جميع المواقع من
channelSection
، وتمت إزالة تعريفاتها من قائمة المواقع. بالإضافة إلى ذلك، قد تحدث الأخطاء المرتبطة بهذه السمات، قد تمت إزالتها من المستندات الخاصة بالأسلوب. -
لمورد "
channelSection
" خاصيةsnippet.type
، تم إيقاف القيم التالية. هذه القيم غير متاحة حاليًا على YouTube. صفحات القنوات، وبالتالي لن يتم عرضها أيضًا عبر واجهة برمجة التطبيقات.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
لمورد
playlist
تم إيقاف الموقع "snippet.tags[]
" نهائيًا. هذا الموقع غير متوافق حاليًا على 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
(طلب غير صالح). -
تعتمد الطريقة
playlistItems.list
watchHistoryNotAccessible
وwatchLaterNotAccessible
خطأ تمت إزالتها من الوثائق. على الرغم من أن تجربة سجل المشاهدة وقوائم المشاهدة لاحقًا هي، في الواقع، عن طريق واجهة برمجة التطبيقات، فلن يتم عرض هذه الأخطاء تحديدًا من خلال واجهة برمجة التطبيقات.
15 تشرين الأول (أكتوبر) 2020
تمت إضافة قسمين جديدين إلى مطوّر البرامج السياسات:
- ينص القسم الجديد 3.E.4.i على معلومات إضافية حول البيانات التي يتم جمعها وإرسالها عبر مشغّل YouTube المضمّن. إِنْتَ ونتحمل مسؤولية أي بيانات للمستخدمين ترسلها إلينا عبر أي مشغّل مضمّن في YouTube قبل تفاعل المستخدم مع المشغّل للإشارة إلى الرغبة في التشغيل. يمكنك تحديد البيانات التي تتم مشاركتها في YouTube قبل أن يتفاعل المستخدم مع المشغّل من خلال ضبط ميزة "التشغيل التلقائي" على "خطأ".
- يتعلق القسم الجديد 3.E.4.j والتحقق من حالة المحتوى المخصّص للأطفال قبل تضمينه على مواقعك الإلكترونية التطبيقات. تقع على عاتقك مسؤولية معرفة متى يتم إنشاء الفيديوهات التي تضمّنها في عميل API الخاص بك. للأطفال ومعالجة البيانات التي يتم جمعها من المشغل المضمن وفقًا لذلك. بناءً على ذلك، يجب عليك التحقّق من حالة المحتوى باستخدام خدمة YouTube Data 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
وجميع مواقعها الفرعية
- السمة
- تعتمد الطريقة
channels.list
مَعلمة الفلترcategoryId
- مورد "
guideCategories
" وguideCategories.list
طريقة واحدة
- مورد "
-
الردود من واجهة برمجة التطبيقات
رقم طريقة الدفع "
channels.list
" تحتوي علىprevPageToken
إذا كان طلب واجهة برمجة التطبيقات يحدد مَعلمةmanagedByMe
إلىtrue
. لا يؤثّر هذا التغيير في السمةprevPageToken
. لطلبات "channels.list
" الأخرى، ولا يؤثّر ذلك فيnextPageToken
الخاصة بأي طلبات. -
contentDetails.relatedPlaylists.watchLater
للمورد فيchannel
وcontentDetails.relatedPlaylists.watchHistory
موقعَين تم الإعلان عنهما نهائيًا في 11 آب (أغسطس) 2016. تشير رسالة الأشكال البيانية إمكانية استخدام طريقةplaylistItems.insert
وطريقةplaylistItems.delete
بالنسبة إلى قوائم التشغيل هذه، تم أيضًا إيقافها نهائيًا، وتمت إزالة السمتَين. من الوثائق. -
المعلمة
mySubscribers
لطريقةchannels.list
، والتي كانت أُعلن عن إيقافها في 30 تموز (يوليو) 2013 إزالتها من الوثائق. يمكنك استخدام طريقةsubscriptions.list
معلَمةmySubscribers
لاسترداد قائمة المشتركين إلى قناة المستخدم التي تمت مصادقتها. -
الكائن
invideoPromotion
في الموردchannel
وكل عناصره الثانوية المواقع، التي تم الإعلان عنها على أنها متوقفة في 27 تشرين الثاني (نوفمبر) 2017، تمت إزالتها من المستندات.
29 تموز (يوليو) 2020
لقد بسّطنا عملياتنا المخصصة لتحصيل رسوم حصة طلبات البيانات من واجهة برمجة التطبيقات عن طريق إزالة
التكلفة المرتبطة بالمعلمة part
. يسري مفعوله على الفور، ولن نخصم إلا
التكلفة الأساسية للطريقة التي يتم استدعاؤها. يمكنك العثور على مزيد من المعلومات حول الروابط
الحصة هنا.
ويتمثل تأثير هذا التغيير في أن معظم طلبات البيانات من واجهة برمجة التطبيقات ستكون لها تكلفة حصة أقل هامشيًا، في حين أن ستظل بعض طلبات البيانات من واجهة برمجة التطبيقات بنفس التكلفة. لا يؤدي هذا التغيير إلى زيادة تكلفة أي واجهة برمجة تطبيقات الاتصالات. وبشكل عام، يكمن التأثير المحتمل في الحصة المخصصة، والتي يمكن رؤيته في في Google Cloud Console، ستتمكّن من تحقيق المزيد من الإنجازات.
ننصح جميع المطوّرين بإكمال تدقيق الامتثال لضمان الوصول المستمر إلى خدمات واجهة برمجة تطبيقات YouTube.
تم نشر إدخال سجلّ النُسخ السابقة في الأصل في 20 تموز (يوليو) 2020.
28 تموز (يوليو) 2020
كل الفيديوهات المحمّلة عبر videos.insert
نقطة نهاية من مشاريع واجهة برمجة التطبيقات التي لم يتم التحقق منها والتي تم إنشاؤها بعد 28 تموز (يوليو) 2020، وستقتصر على
وضع العرض الخاص. لرفع هذه القيود، يجب على كل مشروع
خضوع تدقيق للتحقق
الامتثال إلى
بنود الخدمة:
سيتلقّى صنّاع المحتوى الذين يستخدمون برنامج واجهة برمجة تطبيقات لم يتم التحقّق منه لتحميل الفيديوهات رسالة إلكترونية توضح ذلك. ضبط مستوى عرض فيديوهاتهم على "خاص" وعدم فرض قيود عليها أو عميل خضع للتدقيق.
في ما يلي مشاريع واجهة برمجة التطبيقات التي تم إنشاؤها قبل 28 تموز (يوليو) 2020: لا تتأثر حاليًا بهذا التغيير. ولكننا ننصح بشدة جميع المطوِّرين إكمال تدقيق الامتثال على مشاريعهم لضمان مواصلة الوصول إلى خدمات واجهة برمجة تطبيقات YouTube.
21 تموز (يوليو) 2020
[تاريخ التعديل: 28 تموز (يوليو) 2020] تحديث الوثائق المشار إليه في هذه المراجعة في 28 يوليو 2020.
نشرنا بالأمس تعديلاً على المستندات حول العملية التي نتّبعها لتحصيل رسوم الحصة. ومع ذلك، وبسبب ظروف غير متوقعة، لم يتم تطبيق تغيير الحصة بعد. وبالتالي، تم إرجاع الوثائق بهدف الدقة. لتجنب حدوث ارتباك، يجب مراجعة تمت إزالة الإدخال السابق الذي يشرح التغيير وستتم إعادة نشره في المستقبل القريب.
7 تموز (يوليو) 2020
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تعتمد الطريقة videos.insert
تم إيقاف المعلمتين autoLevels
وstabilize
نهائيًا، وكلاهما
تمت إزالة المعاملات من الوثائق. ويتم تجاهل قيمها ولا تؤثر في
طريقة معالجة الفيديوهات التي تم تحميلها مؤخرًا.
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
لصنّاع المحتوى تحديد ما إذا كان channel أو الفيديو مخصّص للأطفال.
بالنسبة إلى القنوات، يمكن ضبط هذه السمة عند طلب طريقةchannels.update
. بالنسبة إلى الفيديوهات، يمكن تعيين هذه الخاصية عند استدعاء إحدىvideos.insert
أوvideos.update
طريقة
يُرجى العلم أنّ هذه السمة لا يتم تضمينها إلا في ردود واجهة برمجة التطبيقات التي تحتوي علىchannel
أوvideo
مورد إذا فوّض مالك القناة طلب البيانات من واجهة برمجة التطبيقات -
تتيح السمة
madeForKids
لأي مستخدم الاطّلاع على التصنيف "محتوى مخصّص للأطفال". الحالة التابعة لقناة أو فيديو على سبيل المثال، قد تكون الحالة يتم تحديدها استنادًا إلى قيمة السمةselfDeclaredMadeForKids
. يمكنك الاطّلاع على يمكنك زيارة مركز مساعدة YouTube للاطّلاع على المزيد من المعلومات. معلومات حول إعداد جمهور القناة أو الفيديوهات أو عمليات البث
وعدّلنا أيضًا بنود الخدمة وسياسات مطوّري البرامج في YouTube API. من فضلك راجع بنود الخدمة الخاصة بخدمات YouTube API - المراجعة السجلّ لمزيد من المعلومات. التغييرات التي تطرأ على بنود الخدمة المنطبقة على خدمات واجهة برمجة تطبيقات YouTube ستصبح سياسات المطوّرين سارية المفعول في 10 كانون الثاني (يناير) 2020 بتوقيت المحيط الهادئ.
10 أيلول (سبتمبر) 2019
تم تحديث المستندات المرجعية لواجهة برمجة التطبيقات لتعكس تغييرًا في الطريقة التي يتبعها المشترك
يتم الإبلاغ عن الأعداد على YouTube، وبالتالي في الردود من واجهة برمجة التطبيقات. نتيجة للتغيير،
يتم تقريب أعداد المشتركين التي تعرضها خدمة YouTube Data API إلى 3
الأرقام الخاصة بعدد المشتركين الذين تجاوزوا 1,000 مشترك يؤثر هذا التغيير في
لمورد واحد (channel
)
statistics.subscriberCount
الموقع.
ملاحظة: يؤثر هذا التغيير في قيمة الموقع هذه حتى في الحالات التي يكون فيها أحد المستخدمين إرسال طلب مصرّح به للحصول على بيانات حول قناته لا يزال بإمكان مالكي القنوات الاطّلاع على البيانات عدد المشتركين في "استوديو YouTube"
على سبيل المثال، إذا كانت القناة تضم 123,456 مشتركًا،
ستحتوي السمة statistics.subscriberCount
على القيمة 123000
.
يعرض الجدول أدناه أمثلة حول كيفية تقريب أعداد المشتركين في الردود من واجهة برمجة التطبيقات
في واجهات المستخدم الأخرى المرئية بشكل علني على YouTube:
مثال على عدد المشتركين | YouTube Data API | واجهات مستخدم YouTube مرئية بشكل علني |
---|---|---|
1234 | 1230 | 1.23 ألف |
12,345 | 12300 | 12.3 ألف |
123,456 | 123000 | 123 ألف |
1,234,567 | 1230000 | 1.23 مليون |
12,345,678 | 12300000 | 12.3 مليون |
123,456,789 | 123000000 | 123 مليون |
4 نيسان (أبريل) 2019
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل الوثائق المرجعية لواجهة برمجة التطبيقات لشرح حالات الاستخدام الشائعة لكل طريقة ولتوفير عيّنات تعليمات برمجية ديناميكية وعالية الجودة من خلال أداة "مستكشف واجهات برمجة التطبيقات". للحصول على مثال، يمكنك الاطّلاع على مستندات طريقة
channels.list
. هناك الآن عنصران جديدان في الصفحات تصف طرق واجهة برمجة التطبيقات:-
تتيح لك أداة "مستكشف واجهات برمجة التطبيقات" إمكانية تحديد نطاقات الأذونات، وإدخال نموذج للمعلَمات وقيم المواقع، ثم إرسال طلبات فعلية من واجهة برمجة التطبيقات والاطّلاع على الردود الفعلية من واجهة برمجة التطبيقات. توفر الأداة أيضًا طريقة عرض بملء الشاشة تُظهر نماذج التعليمات البرمجية الكاملة، والتي يتم تحديثها ديناميكيًا لاستخدام النطاقات والقيم التي أدخلتها.
-
يصف قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الطريقة
channels.list
لاسترداد بيانات عن قناة معيّنة أو لاسترداد بيانات عن قناة المستخدم الحالي.ويمكنك استخدام الروابط في هذا القسم لتعبئة مستكشف واجهات برمجة التطبيقات بنماذج قيم لحالة استخدامك أو لفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة مع تعبئة تلك القيم مسبقًا. وتهدف هذه التغييرات إلى تسهيل مشاهدة عيّنات التعليمات البرمجية التي تنطبق مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك.
تتوفّر عيّنات التعليمات البرمجية حاليًا للغة Java وJavaScript وPHP وPython وcurl.
-
-
تم أيضًا تحديث أداة عيّنات التعليمات البرمجية بواجهة مستخدم جديدة توفّر جميع الميزات نفسها الموضّحة أعلاه. وباستخدام هذه الأداة، يمكنك استكشاف حالات استخدام لطرق مختلفة، وتحميل القيم في مستكشف واجهات برمجة التطبيقات، وفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة للحصول على عيّنات تعليمات برمجية بلغة Java وJavaScript وPHP وPython.
وبالتزامن مع هذا التغيير، تمت إزالة الصفحات التي سبق أن أدرجت نماذج رموز متوفّرة لكل من Java وJavaScript وPHP وPython.
-
تم تحديث أدلة البدء السريع لكل من Java وJavaScript وPHP وPython. تشرح الأدلة المعدَّلة كيفية تشغيل نموذج باستخدام مفتاح واجهة برمجة التطبيقات ونموذج آخر باستخدام معرِّف عميل OAuth 2.0 باستخدام عيّنات تعليمات برمجية من "مستكشف واجهات برمجة التطبيقات".
تجدر الإشارة إلى أن التغييرات الموضحة أعلاه تحل محل أداة تفاعلية تمت إضافتها إلى وثائق واجهة برمجة التطبيقات في عام 2017.
9 تموز (يوليو) 2018
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل تعريف السمة
snippet.thumbnails
الخاصة بموردchannel
للإشارة إلى أنّه عند عرض صور مصغّرة في تطبيقك، يجب أن يستخدم الرمز عناوين URL للصور على النحو الذي تظهر به في استجابات واجهة برمجة التطبيقات تمامًا. على سبيل المثال، يجب ألا يستخدم تطبيقك نطاقhttp
بدلاً من نطاقhttps
في عنوان URL يتم عرضه في استجابة واجهة برمجة التطبيقات.ابتداءً من تموز (يوليو) 2018، لن تتوفّر عناوين URL للصور المصغّرة للقنوات إلا في نطاق
https
، وهو ما ستظهر به عناوين URL في الردود من واجهة برمجة التطبيقات. بعد هذه الفترة، قد تظهر صور معطّلة في تطبيقك إذا حاول تحميل صور على YouTube من نطاقhttp
. -
ملاحظة: هذا إشعار عن الإيقاف النهائي.
تم إيقاف السمة
recordingDetails.location.altitude
الخاصة بمورد "video
" نهائيًا. وليس هناك ما يضمن أن تعرض الفيديوهات قيمًا لهذا الموقع. وبالمثل، حتى إذا حاولت طلبات البيانات من واجهة برمجة التطبيقات ضبط قيمة لذلك الموقع، من الممكن ألا يتم تخزين البيانات الواردة.
22 حزيران (يونيو) 2018
دليل التنفيذ، المعروف سابقًا باسم تمّ تعديل دليل التنفيذ والنقل لإزالة تعليمات نقل البيانات من الإصدار 2 من واجهة برمجة التطبيقات للإصدار v3 من واجهة برمجة التطبيقات. بالإضافة إلى ذلك، تمت إزالة التعليمات الخاصة بالميزات التي منذ أن تم إيقافها في الإصدار 3 من واجهة برمجة التطبيقات، مثل الفيديوهات المفضلة.
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 من ويكيبيديا التي تصف محتوى القناة. تتوافق عناوين 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.
بالإضافة إلى ذلك، تمت إزالة عدّة نماذج رموز ذات صلة بمعرّفات المواضيع من المستندات الخاصة بطريقة
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 بكسل.وباستخدام المعلمات الجديدة، يمكنك تحديد أنه بدلاً من الأبعاد الافتراضية، يجب أن تستخدم شفرة التضمين الارتفاع و/أو العرض المناسبين لتخطيط تطبيقك. يعمل خادم واجهة برمجة التطبيقات على ضبط أبعاد المشغّل بشكل مناسب للتأكد من عدم احتواء المشغّل المضمّن على أشرطة سوداء تحيط بالفيديو. تجدر الإشارة إلى أنّ كلتا المعلمتَين تحدّدان الحدّ الأقصى لأبعاد المشغّل المضمَّن. وبالتالي، إذا تم تحديد كلتا المعلمتَين، قد تكون إحدى السمات أصغر من الحدّ الأقصى المسموح به لهذه السمة.
على سبيل المثال، لنفترض أن نسبة العرض إلى الارتفاع في فيديو هي 9:16. وبالتالي، ستحتوي العلامة
player.embedHtml
على مشغّل بحجم 640 × 360 في حال عدم ضبط المَعلمةmaxHeight
أوmaxWidth
.- في حال ضبط المَعلمة
maxHeight
على720
، ولم يتم ضبط المَعلمةmaxWidth
، ستعرض واجهة برمجة التطبيقات مشغّلاً بحجم 1280x720. - إذا تم ضبط المعلَمة
maxWidth
على960
، ولم يتم ضبط المَعلمةmaxHeight
، ستعرض واجهة برمجة التطبيقات مشغّلاً بحجم 960 x 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
، بالإضافة إلى أي أرقام تعريف لسجلّ المشاهدة أو قوائم تشغيل "المشاهدة لاحقًا" التي سبق أن خزّنها عميل واجهة برمجة التطبيقات الخاص بك. -
لن يتم عرض الكائن
fileDetails.recordingLocation
للموردvideo
أو أي من خصائصه الفرعية بعد 12 أيلول (سبتمبر) 2016. لا يمكن لأحد سوى مالك الفيديو استرداد هذه البيانات لأنّ عنصرfileDetails
الرئيسي لا يستطيع استرداده سوى مالك الفيديو.
-
13 حزيران (يونيو) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تم إيقاف السمة
contentDetails.googlePlusUserId
الخاصة بمورد "channel
" نهائيًا. في السابق، كان الموقع الإلكتروني متاحًا فقط إذا كانت القناة مرتبطة بملف شخصي على +Google. بعد الإيقاف النهائي، لن يتم تضمين الموقع بعد الآن في أي من مواردchannel
. -
تم إيقاف السمة
snippet.authorGoogleplusProfileUrl
الخاصة بمورد "comment
" نهائيًا. في السابق، كان الموقع الإلكتروني متاحًا فقط إذا كانت القناة مرتبطة بملف شخصي على +Google. بعد الإيقاف النهائي، لن يتم تضمين الموقع بعد الآن في أي من مواردcomment
.
وبما أنّه لن يتم عرض أيّ من هاتَين السمتَين بعد الإيقاف النهائي، تمّت إزالة السمتَين من مستندات الموارد ذات الصلة.
31 أيار (مايو) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تسترد معلَمة
myRecentSubscribers
الجديدة في طريقةsubscriptions.list
قائمة بالمشتركين في قناة المستخدم الذي تمت المصادقة عليه بترتيب زمني عكسي للوقت الذي اشترك فيه في القناة.يُرجى العلم أنّ المَعلمة الجديدة تتيح فقط استرداد أحدث 1,000 مشترك إلى قناة المستخدم الذي تمت المصادقة عليه. لعرض قائمة كاملة بالمشتركين، استخدِم المَعلمة
mySubscribers
. هذه المعلمة، التي لا تعرض المشتركين بترتيب معين، لا تؤدي إلى تقييد عدد المشتركين الذين يمكن استردادهم. -
تم تعديل تعريف السمة
snippet.thumbnails.(key)
ليتضمّن موارد النشاط وplaylistItem وقائمة التشغيل ونتائج البحث والصورة المصغّرة والفيديو للإشارة إلى توفّر أحجام إضافية للصور المصغّرة لبعض الفيديوهات.- يبلغ عرض صورة
standard
640 بكسل وطولها 480 بكسل. - يبلغ عرض صورة
maxres
1280 بكسل وطولها 720 بكسل.
- يبلغ عرض صورة
-
تم تعديل تعريف مَعلمة
part
لطريقةchannelSection.list
للإشارة إلى أنّه يمكن استرداد الجزءtargeting
بتكلفة تبلغ2
من وحدات الحصة. -
تعرض الطريقة
videos.list
الآن الخطأ محظور (403
) عندما يحاول طلب تم تفويضه بشكل غير صحيح استرداد الأجزاءfileDetails
أوprocessingDetails
أوsuggestions
من موردvideo
. وتتوفّر هذه الأجزاء لمالك الفيديو فقط.
17 أيار (مايو) 2016
توفّر أداة مقتطفات رمز Data API الجديدة مقتطفات رموز قصيرة لحالات الاستخدام الشائعة في YouTube Data API. تتوفّر مقتطفات الرمز حاليًا لجميع طرق واجهة برمجة التطبيقات للقراءة فقط في النصوص البرمجية للتطبيقات وGo وJavaScript وPHP وPython وRuby.
بالنسبة إلى كل طريقة، تعرض الأداة عيّنات التعليمات البرمجية لحالة استخدام واحدة أو أكثر. على سبيل المثال، توفّر خمسة مقتطفات رمز لطريقة search.list
:
- إدراج الفيديوهات حسب الكلمة الرئيسية
- إدراج الفيديوهات حسب الموقع الجغرافي
- سرد الأحداث المباشرة
- البحث عن فيديوهات المستخدم الذي تمت مصادقته
- إدراج الفيديوهات ذات الصلة
لكل حالة استخدام، تعرض الأداة المعلَمات المستخدمة في طلب البيانات من واجهة برمجة التطبيقات. يمكنك تعديل قيم المعلّمات، وفي هذه الحالة تعدِّل الأداة مقتطفات الرمز لتعكس قيم المعلّمات التي قدّمتها.
وأخيرًا، تعرض الأداة رد واجهة برمجة التطبيقات لكل طلب. وفي حال تعديل مَعلمات الطلب، يستند ردّ واجهة برمجة التطبيقات إلى قيم المَعلمات التي قدّمتها. يُرجى العلم أنّك بحاجة إلى تفويض الأداة بإرسال طلبات نيابةً عنك لعرض الردود من واجهة برمجة التطبيقات.
28 نيسان (أبريل) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تحدّد السمة الجديدة
contentDetails.projection
الخاصة بموردvideo
تنسيق العرض الخاص بالفيديو. القيمتان الصالحتان هما360
وrectangular
. -
تم تعديل كل من السمتَين
recordingDetails.location
وfileDetails.recordingLocation
للمورد فيvideo
لتوضيح الفرق بين السمتَين:- تحدد السمة
recordingDetails.location
الموقع الجغرافي الذي يريد مالك الفيديو ربطه بالفيديو. ويمكن تعديل هذا الموقع الجغرافي والبحث عنه في الفيديوهات العلنية، وقد يتم عرضه للمستخدمين في الفيديوهات العلنية. - قيمة السمة
fileDetails.recordingLocation
غير قابلة للتغيير، وتمثِّل الموقع الجغرافي المرتبط بملف الفيديو الأصلي الذي تم تحميله. تظهر القيمة لمالك الفيديو فقط.
- تحدد السمة
-
تم تعديل تعريف السمة
contentDetails.relatedPlaylists.favorites
الخاصة بموردchannel
للإشارة إلى أنّ قيمة السمة قد تحتوي على رقم تعريف قائمة تشغيل يشير إلى قائمة تشغيل فارغة ولا يمكن جلبها. ويعود السبب في ذلك إلى أنّه سبق أن تم إيقاف وظيفة الفيديوهات المفضّلة نهائيًا. يُرجى العِلم أنّ هذا الموقع لا يخضع لسياسة إيقاف واجهة برمجة التطبيقات نهائيًا. -
تم تعديل تعريف الخطأ
ineligibleAccount
، الذي يمكن عرضه باستخدام الطريقةcomments.insert
أوcomments.update
أوcommentThreads.insert
أوcommentThreads.update
، ليعكس أنّ الخطأ يحدث عندما لا يتم دمج حساب YouTube المستخدَم لتفويض طلب البيانات من واجهة برمجة التطبيقات مع حساب المستخدم على Google.
20 نيسان (أبريل) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل تعريف المَعلمة
part
لطريقةchannels.update
للإشارة إلى أنّlocalizations
هي أيضًا قيمة صالحة لهذه المَعلمة. -
تم تعديل قسم استخدام الحصة في دليل "البدء" للربط بـ Google Developer Console حيث يمكنك الاطّلاع على حصتك الفعلية واستخدام الحصة.
16 آذار (مارس) 2016
يتضمّن هذا التحديث التغييرات التالية:
-
التعديلات على الموارد والطرق الحالية
-
تم تعديل مستندات موارد
channelBanner
للإشارة إلى أنّ الحجم المقترَح لصورة بانر القناة التي تم تحميلها هو 2560 بكسل × 1440 بكسل. لم يتغير الحد الأدنى للحجم (2048 بكسل × 1152 بكسل). -
تحدّد السمة الجديدة
snippet.customUrl
الخاصة بموردchannel
عنوان URL المخصّص المرتبط بالقناة. (لا تملك كل القنوات عناوين URL مخصصة). يقدّم مركز مساعدة YouTube شرحًا حول متطلبات الأهلية للحصول على عنوان URL مخصّص وكيفية إعداده. -
تم إيقاف الكائن
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
الموضّحة أعلاه.تم أيضًا تعديل دليل نقل البيانات من خلال إضافة مثال للإبلاغ عن فيديو مسيء. وبفضل هذا التغيير، أصبحت v3 API متوافقة مع جميع ميزات v2 API التي تمّت جدولة استخدامها. يتم أيضًا شرح جميع هذه الميزات في دليل نقل البيانات.
-
-
التعديلات على الموارد والطرق الحالية
-
تعمل معلمة الفلتر
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 للعثور على فيديوهات متوفرة من خلال الاشتراك في طريقة
activities.list
، وضبط قيمة المَعلمةhome
علىtrue
.في استجابة واجهة برمجة التطبيقات، يتجاوب مورد مع فيديو اشتراك جديد إذا كانت قيمة السمة
snippet.type
هيupload
. يُرجى العِلم أنّه ليس هناك ما يضمن أنّ الردّ سيتضمّن عددًا معيّنًا من الفيديوهات الجديدة المتوفّرة من خلال اشتراك. -
الإشعارات الفورية لتحديثات الخلاصة – يدعم الإصدار 2 من واجهة برمجة التطبيقات الإشعارات الفورية، باستخدام بروتوكول التحديث البسيط (SUP) أو PubSubHubbub لمراقبة خلاصات أنشطة المستخدمين لمستخدمي YouTube. تم إرسال إشعارات بشأن الاشتراكات الجديدة في القناة وعندما تم تقييم الفيديوهات أو مشاركتها أو وضع علامة عليها كمحتوى مفضّل أو التعليق عليها أو تحميلها.
ستتوافق واجهة برمجة التطبيقات v3 مع الإشعارات الفورية باستخدام بروتوكول PubSubHubbub، لكن لن تشمل الإشعارات سوى عمليات تحميل الفيديوهات والتعديلات على عناوين الفيديوهات أو أوصافها.
-
موقع القناة – استخدمت واجهة برمجة التطبيقات v2 العلامة
<yt:location>
لتحديد موقع المستخدم الجغرافي كما تم إدخاله في الملف الشخصي العلني للقناة على YouTube. على الرغم من أنّ بعض المطوّرين استخدموا هذا الحقل لربط قناة ببلد معيّن، تعذّر استخدام بيانات الحقل بشكل متّسق لهذا الغرض. -
ضبط أو استرداد علامات المطوّرين – وفّرت واجهة برمجة التطبيقات v2 إمكانية ربط الكلمات الرئيسية أو علامات المطوّرين بفيديو في وقت تحميل الفيديو. لن يتم عرض علامات المطوّر لمستخدمي YouTube، ولكن يمكن لمالكي الفيديوهات استرداد الفيديوهات التي تطابق علامة مطوّر برامج معيّنة.
ستوفر واجهة برمجة التطبيقات v3 ميزة مشابهة، لكنها ليست متطابقة. وعلى وجه التحديد، سيتمكن المطور من البحث عن مقاطع الفيديو التي تم تحميلها بواسطة تطبيق المطوّر. بالنسبة إلى هذه الميزة، يتم تلقائيًا وضع علامة على كل فيديو يتم تحميله باستخدام رقم المشروع المرتبط بتطبيق المطوِّر في Google Developers Console. ويستخدم المطور بعد ذلك رقم المشروع نفسه للبحث عن مقاطع الفيديو.
-
إدراج الفيديوهات حسب تاريخ النشر أو عدد المشاهدات أو التقييم: في واجهة برمجة التطبيقات v2، تتيح لك المَعلمة
orderby
ترتيب الفيديوهات في قائمة تشغيل حسب الموضع والمدة وتاريخ النشر والعنوان والعديد من القيم الأخرى. في v3 API، يتم عادةً ترتيب عناصر قوائم التشغيل تصاعديًا حسب الموضع ولا تتوفّر خيارات الترتيب الأخرى.ولكن هناك بعض الاستثناءات. إنّ تحميل فيديو جديد أو فيديو مفضل أو فيديو أعجبك أو فيديو تمت مشاهدته مؤخرًا تتم إضافته تلقائيًا كأول عنصر (
snippet.position
=0
) لأنواع قوائم التشغيل التالية. لذلك، يتم فرز كل قائمة من هذه القوائم بشكل فعال بترتيب العنصر الأحدث إلى الأقدم بناءً على الأوقات التي تمت فيها إضافة العناصر إلى القائمة.- تحميلات المستخدمين
- الفيديوهات المفضلة
- مقاطع فيديو أعجبتك
- سجلّ المشاهدة
مع ذلك، يُرجى العِلم أنّه تمت إضافة عنصر جديد إلى قائمة "المشاهدة لاحقًا". تتم إضافة قائمة التشغيل كآخر عنصر في تلك القائمة، لذلك يتم فرز هذه القائمة بشكل فعال من الأقدم إلى الأحدث.
-
المعالجة المجمّعة: تتوافق واجهة برمجة التطبيقات v3 مع إحدى حالات استخدام المعالجة المجمّعة التي وفّرتها الإصدار 2 من واجهة برمجة التطبيقات. إنّ طرق
channels.list
وchannelSections.list
وguideCategories.list
وplaylistItems.list
وplaylists.list
وsubscriptions.list
وvideoCategories.list
وvideos.list
من واجهة برمجة التطبيقات v3 تتيح استخدام مَعلمة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) للإشارة إلى إيقاف حقول الخلاصات الخاصة والبيانات الوصفية التي وفّرتها واجهة برمجة التطبيقات v2 API لوصف الأفلام والمقاطع الدعائية والبرامج التلفزيونية والمواسم التلفزيونية والحلقات التلفزيونية.
14 يناير 2015
يتضمّن هذا التحديث التغييرات التالية:
-
لقد عدّلنا دليل نقل البيانات من YouTube Data API (الإصدار 3) لشرح كيفية استخدام الإصدار 3 من واجهة برمجة التطبيقات لتحميل الفيديوهات باستخدام JavaScript. (يُرجى الاطّلاع على القسم تحميل فيديو للحصول على التفاصيل). هذه الوظيفة مماثلة لوظيفة التحميل المستنِدة إلى المتصفح التي تتوافق مع الإصدار 2 من واجهة برمجة التطبيقات. يُرجى العلم أنّ هذا التغيير في دليل نقل البيانات لا يعكس تغييرًا فعليًا في واجهة برمجة التطبيقات، بل يعكس مدى توفّر نموذج رمز جديد لتحميل الفيديوهات باستخدام JavaScript من جهة العميل.
نظرًا إلى إتاحة تحميل الفيديوهات باستخدام مكتبة برامج JavaScript وCORS، لم يعد دليل نقل البيانات يسرد التحميل المستند إلى المتصفح كميزة قد تم إيقافها في الإصدار 3 من واجهة برمجة التطبيقات.
-
تم تعديل المستندات المتعلقة بطريقة
videos.insert
لتشمل نموذج رمز JavaScript الجديد الموضّح أعلاه. تم أيضًا تعديل القائمة نماذج رموز JavaScript الخاصة بواجهة برمجة تطبيقات YouTube Data API (الإصدار 3).
11 تشرين الثاني (نوفمبر) 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تغيرت تكلفة الحصة لاستدعاء طريقة
search.list
إلى 100 وحدة.ملاحظة مهمة: في كثير من الحالات، يمكنك استخدام طرق أخرى من واجهة برمجة التطبيقات لاسترداد المعلومات بتكلفة حصة أقل. على سبيل المثال، إليك طريقتين للعثور على الفيديوهات التي تم تحميلها إلى قناة GoogleDevelopers.
-
تكلفة الحصة: 100 وحدة
يمكنك استدعاء طريقة
search.list
والبحث عنGoogleDevelopers
. -
تكلفة الحصة: 6 وحدات
عليك استدعاء طريقة
channels.list
للعثور على معرّف القناة الصحيح. اضبط المَعلمةforUsername
علىGoogleDevelopers
والمَعلمةpart
علىcontentDetails
. في استجابة واجهة برمجة التطبيقات، تحدد السمةcontentDetails.relatedPlaylists.uploads
معرّف قائمة التشغيل للفيديوهات التي تم تحميلها إلى القناة.بعد ذلك، يمكنك استدعاء طريقة
playlistItems.list
وضبط المَعلمةplaylistId
على رقم التعريف الذي تم الحصول عليه والمَعلمةpart
علىsnippet
.
-
8 أكتوبر 2014
يتضمّن هذا التحديث التغييرات التالية:
-
يحتوي مورد "
channel
" على خاصيتَين جديدتَين:-
تحدد السمة
status.longUploadsStatus
ما إذا كانت القناة مؤهلة لتحميل فيديوهات تزيد مدتها عن 15 دقيقة. لا يتم عرض هذه السمة إلا إذا وافق مالك القناة على طلب البيانات من واجهة برمجة التطبيقات. القيم الصالحة للسمات هي:allowed
– يمكن للقناة تحميل فيديوهات تزيد مدتها عن 15 دقيقة.eligible
– القناة مؤهلة لتحميل فيديوهات تزيد مدتها عن 15 دقيقة ولكن يجب تفعيل الميزة أولاً.disallowed
– لا يمكن للقناة تحميل فيديوهات تزيد مدتها عن 15 دقيقة أو لا تكون مؤهَّلة لذلك.
يُرجى الاطّلاع على تعريف السمة للحصول على مزيد من المعلومات عن هذه القيم. ويوفّر مركز مساعدة YouTube أيضًا معلومات أكثر تفصيلاً حول هذه الميزة.
-
تشير السمة
invideoPromotion.useSmartTiming
إلى ما إذا كانت الحملة الترويجية للقناة تستخدم "التوقيت الذكي". تحاول هذه الميزة إظهار الإعلانات الترويجية في مرحلة معيّنة من الفيديو عندما يزيد احتمال النقر عليها وينخفض احتمال التأثير في تجربة المشاهدة. تختار هذه الميزة أيضًا إعلانًا ترويجيًا واحدًا لعرضه على كل فيديو.
-
-
تم تعديل تعريفَي السمتَين
snippet.title
وsnippet.categoryId
للمورد فيvideo
لتوضيح الطريقة التي تعالج بها واجهة برمجة التطبيقات الطلبات الواردة إلى إجراءvideos.update
. في حال استدعاء هذه الطريقة لتعديل الجزءsnippet
من موردvideo
، عليك ضبط قيمة لكلا السمتَين.إذا حاولت تعديل الجزء
snippet
من موردvideo
ولم تضبط قيمة لهذَين الموقعَين، تعرض واجهة برمجة التطبيقات الخطأinvalidRequest
. تم أيضًا تعديل وصف الخطأ. -
إنّ السمة
contentDetails.contentRating.oflcRating
الخاصة بمورد "video
"، والتي تحدّد تقييم الفيديو من "مكتب تصنيف الأفلام والأدب" في نيوزيلندا، تتيح الآن تقييمَين جديدَين: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
يتضمّن هذا التحديث التغييرات التالية:
-
يتضمّن الدليل الجديد بعنوان Migrating Your Application to 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
5000 بايت video
snippet.tags
500 حرف: تجدر الإشارة إلى أنّ قيمة السمة هي قائمة ويتمّ احتساب الفواصل بين العناصر في القائمة ضمن الحدّ الأقصى. -
تم إيقاف السمة
brandingSettings.watch.featuredPlaylistId
الخاصة بمورد "channel
" نهائيًا. ستعرض واجهة برمجة التطبيقات رسالة خطأ إذا حاولت ضبط قيمتها. -
تمت إضافة سمات موارد
video
التالية إلى قائمة القيم التي يمكن ضبطها عند إدراج فيديو أو تعديله: -
تحدد مستندات الخطأ الآن رمز استجابة HTTP لكل نوع خطأ.
-
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف badRequest (400)
invalidCriteria
تعرض الطريقة channels.list
هذا الخطأ إذا كان الطلب يحدد معلَمات فلاتر لا يمكن استخدامها مع بعضها البعض.badRequest (400)
channelTitleUpdateForbidden
تعرض الطريقة channels.update
هذا الخطأ إذا حاولت تعديل الجزءbrandingSettings
في القناة وتغيير قيمة السمةbrandingSettings.channel.title
. (ملاحظة: لا تعرض واجهة برمجة التطبيقات الخطأ في حال حذف الموقع).badRequest (400)
invalidRecentlyUploadedBy
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.recentlyUploadedBy
تحدّد معرّف قناة غير صالح.badRequest (400)
invalidTimingOffset
تعرض الطريقة channels.update
هذا الخطأ إذا كان الجزءinvideoPromotion
يحدّد معادلة توقيت غير صالحة.badRequest (400)
tooManyPromotedItems
تعرض الطريقة channels.update
هذا الخطأ إذا كان الجزءinvideoPromotion
يحدّد عددًا أكبر من العدد المسموح به من السلع التي يتم الترويج لها.forbidden (403)
promotedVideoNotAllowed
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.videoId
تحدّد معرّف فيديو يتعذّر العثور عليه أو لا يمكن استخدامه كعنصر تم الترويج له.forbidden (403)
websiteLinkNotAllowed
تعرض الطريقة channels.update
هذا الخطأ إذا كانت السمةinvideoPromotion.items[].id.websiteUrl
تحدّد عنوان URL غير مسموح به.required (400)
requiredTimingType
تعرض الطريقة channels.update
هذا الخطأ إذا لم يحدّد الطلب إعدادات التوقيت التلقائية التي يجب أن يعرض فيها YouTube سلعة تم الترويج لها.required (400)
requiredTiming
يجب أن تحدّد الطريقة channels.update
عنصرinvideoPromotion.items[].timing
لكل سلعة يتم الترويج لها.required (400)
requiredWebsiteUrl
يجب أن تحدد الطريقة channels.update
السمةinvideoPromotion.items[].id.websiteUrl
لكل عنصر يتم الترويج له.badRequest (400)
invalidPublishAt
تعرض الطريقة videos.insert
هذا الخطأ إذا كانت البيانات الوصفية للطلب تحدّد وقت نشر مجدول غير صالح.
4 مارس 2014
يتضمّن هذا التحديث التغييرات التالية:
-
وأصبح الإصدار الثالث من YouTube Data API خاضعًا الآن لسياسة الإيقاف الواردة في بنود خدمة واجهات برمجة تطبيقات YouTube. تجدر الإشارة إلى أنّ الصفحة التي تتضمّن واجهات برمجة التطبيقات التي تخضع لسياسة الإيقاف النهائي تستثني على وجه التحديد بعض وظائف الإصدار 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
الآن تقييمًا من المجلس الأسترالي لتصنيف الأفلام أو "هيئة الاتصالات والإعلام الأسترالية" (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
(انتقال)thumbnails.set
(Java)videos.insert
(انتقال)
24 تشرين الأول (أكتوبر) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تشمل واجهة برمجة التطبيقات ميزتين إضافيتين تم تصميمهما للمساعدة في العثور على محتوى البث المباشر وإبرازه:
تشير السمة
snippet.liveBroadcastContent
الجديدة في نتائج البحث إلى ما إذا كان مورد فيديو أو قناة يتضمّن بثًا مباشرًا. القيم الصالحة للسمات هيupcoming
وactive
وnone
.-
تشير السمة
snippet.liveBroadcastContent
الجديدة الخاصة بموردvideo
إلى ما إذا كان الفيديو بثًا مباشرًا قادمًا أو نشطًا. توضح القائمة أدناه قيم الموقع المحتملة:upcoming
– الفيديو هو بث مباشر لم يبدأ بعد.active
– الفيديو عبارة عن بث مباشر جارٍ.none
– الفيديو ليس بثًا مباشرًا قادمًا أو نشطًا. ستكون هذه قيمة خاصية لعمليات البث المكتملة التي لا تزال قابلة للعرض على YouTube.
-
السمة
liveStreamingDetails
الجديدة لموردvideo
هي كائن يحتوي على بيانات وصفية حول بث فيديو مباشر. لاسترداد هذه البيانات الوصفية، أدرِجliveStreamingDetails
في قائمة أجزاء الموارد الخاصة بقيمة مَعلمةpart
. تشمل البيانات الوصفية السمات الجديدة التالية:liveStreamingDetails.actualStartTime
– الوقت الذي بدأ فيه البث (سيتم توفير هذه القيمة بعد أن تصبح حالة البثactive
.)liveStreamingDetails.actualEndTime
– الوقت الذي انتهى فيه البث الفعلي (سيتم توفير هذه القيمة عند انتهاء البث.)liveStreamingDetails.scheduledStartTime
– الوقت الذي تمت جدولة بدء البث فيه.liveStreamingDetails.scheduledEndTime
– الوقت الذي تمت جدولة انتهاء البث فيه. إذا كانت قيمة السمة فارغة أو كانت السمة غير متوفّرة، سيتم ضبط موعد البث على أجل غير مسمى.liveStreamingDetails.concurrentViewers
– عدد الأشخاص الذين يشاهدون البث المباشر
لاسترداد هذه البيانات الوصفية، ضمِّن
liveStreamingDetails
في قيمة المعلمةpart
عند طلب طريقةvideos.list
أوvideos.insert
أوvideos.update
.
يُرجى العلم أنّه تم إصدار ميزتَين أخريين لتحديد محتوى البث المباشر في 1 تشرين الأول (أكتوبر) 2013، وهما مَعلمة
eventType
في طريقةsearch.list
وسمةsnippet.liveBroadcastContent
لنتيجة البحث. -
-
تتيح الطريقة
videos.insert
الآن استخدام المَعلمةnotifySubscribers
التي تشير إلى ما إذا كان على YouTube إرسال إشعار بشأن الفيديو الجديد إلى المستخدمين الذين يشتركون في القناة التي تعرض الفيديو. إنّ القيمة التلقائية للمَعلمة هيTrue
، ما يعني أنّه سيتم إشعار المشتركين بالفيديوهات الجديدة التي تم تحميلها. مع ذلك، قد يفضّل مالك القناة الذي يحمّل العديد من الفيديوهات ضبط القيمة علىFalse
لتجنُّب إرسال إشعار إلى المشتركين في القناة بشأن كل فيديو جديد. -
تم تعديل قائمة السمات التي يمكن تعديلها عند استدعاء طريقة
channels.update
لتشمل السمتَينinvideoPromotion.items[].customMessage
وinvideoPromotion.items[].websiteUrl
. بالإضافة إلى ذلك، تم تعديل القائمة لتحديد سماتbrandingSettings
القابلة للتعديل. سبق أن كانت سماتbrandingSettings
هذه قابلة للتعديل، لذا لا يعكس التغيير في المستندات تغييرًا في الوظائف الحالية لواجهة برمجة التطبيقات. -
تتيح الطرق
playlists.insert
وplaylists.update
وplaylists.delete
الآن استخدام المَعلمةonBehalfOfContentOwner
، التي يمكن استخدامها بعدة طرق أخرى. -
تتوافق الطريقة
playlists.insert
الآن مع المعلَمةonBehalfOfContentOwnerChannel
التي يمكن استخدامها بعدة طرق أخرى. -
تتيح السمة
contentDetails.contentRating.tvpgRating
للمورد فيvideo
الآن استخدام القيمةpg14
التي تتوافق مع تقييمTV-14
. -
تم تصحيح تعريف السمة
snippet.liveBroadcastContent
، التي تشكّل جزءًا من نتائج البحث، ليشير إلى أنّlive
هي قيمة سمة صالحة، ولكنactive
ليست قيمة سمة صالحة. -
يمكن الآن استخدام تقييمَين إضافيَين في السمة
contentDetails.contentRating.mibacRating
الخاصة بمورد "video
":mibacVap
(VAP) - يجب أن يكون الأطفال برفقة شخص بالغ.mibacVm6
(V.M.6) – مقتصر على 6 أعوام أو أكثر.mibacVm12
(V.M.12): مقتصر على عمر 12 سنة وأكثر.
-
تشير السمة
invideoPromotion.items[].promotedByContentOwner
الجديدة الخاصة بموردchannel
إلى ما إذا كان اسم مالك المحتوى سيظهر عند عرض العرض الترويجي. لا يمكن ضبط هذا الحقل إلا إذا تم تقديم طلب واجهة برمجة التطبيقات الذي يضبط القيمة نيابةً عن مالك المحتوى. راجِع مَعلمةonBehalfOfContentOwner
للحصول على مزيد من المعلومات.
1 أكتوبر 2013
يتضمّن هذا التحديث التغييرات التالية:
-
إنّ العنصر
auditDetails
الجديد للموردchannel
يحتوي على بيانات القنوات التي ستقيّمها الشبكة المتعددة القنوات (MCN) أثناء تحديد ما إذا كانت تقبل قناة معيّنة أو ترفضها. يُرجى العلم أنّ أي طلب من واجهة برمجة التطبيقات يسترد هذا الجزء من المورد يجب أن يقدّم رمزًا مميزًا للتفويض يحتوي على نطاقhttps://www.googleapis.com/auth/youtubepartner-channel-audit
. بالإضافة إلى ذلك، يجب إبطال أي رمز مميّز يستخدم هذا النطاق عندما تقرِّر الشبكة المتعدّدة القنوات قبول القناة أو رفضها أو خلال أسبوعين من تاريخ إصدار الرمز المميّز. -
تتيح السمة
invideoPromotion.items[].id.type
الخاصة بموردchannel
الآن استخدام القيمةrecentUpload
، ما يشير إلى أنّ العنصر المُروَّج له هو آخر فيديو تم تحميله من قناة محدّدة.تكون القناة بشكل تلقائي هي نفسها القناة التي تم تعيين بيانات الترويج ضمن الفيديو لها. في المقابل، يمكنك الترويج لأحدث فيديو تم تحميله من قناة أخرى من خلال ضبط قيمة السمة
invideoPromotion.items[].id.recentlyUploadedBy
الجديدة على معرّف القناة لتلك القناة. -
يتضمن مورد
channel
ثلاث سمات جديدة –brandingSettings.image.bannerTvLowImageUrl
وbrandingSettings.image.bannerTvMediumImageUrl
وbrandingSettings.image.bannerTvHighImageUrl
– تحدد عناوين URL لصور البانر التي يتم عرضها على صفحات القنوات في تطبيقات التلفزيون. -
تشير السمة
snippet.liveBroadcastContent
الجديدة في نتائج البحث إلى ما إذا كان مورد فيديو أو قناة يتضمّن بثًا مباشرًا. القيم الصالحة للسمات هيupcoming
وactive
وnone
.- بالنسبة إلى مورد
video
، تشير القيمةupcoming
إلى أن الفيديو عبارة عن بث مباشر لم يبدأ بعد، في حين تشير القيمةactive
إلى أن الفيديو عبارة عن بث مباشر مستمر. - بالنسبة إلى مورد
channel
، تشير القيمةupcoming
إلى أن القناة تتضمن بثًا مجدوَلاً لم يبدأ بعد، في حين تشير القيمةacive
إلى أنّ القناة تقدّم بثًا مباشرًا حاليًا.
- بالنسبة إلى مورد
-
في مورد "
watermark
"، تم تغيير السمةtargetChannelId
من كائن إلى سلسلة. بدلاً من تضمين سمة فرعية تحدّد معرّف قناة YouTube للقناة التي ترتبط بها صورة العلامة المائية، تحدّد السمةtargetChannelId
الآن تلك القيمة نفسها. وبناءً على ذلك، تمت إزالة السمةtargetChannelId.value
للمورد. -
تتوافق الطريقة
thumbnails.set
الآن مع المعلَمةonBehalfOfContentOwner
التي يمكن استخدامها بعدة طرق أخرى. -
تتيح الطريقة
search.list
الآن استخدام المَعلمةeventType
التي تقيّد عملية البحث لعرض أحداث بث نشطة أو قادمة أو مكتملة فقط. -
تحدد السمة
contentDetails.contentRating.mibacRating
الجديدة التقييم الذي تلقّاه الفيديو من الوزير الإيطالي "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 وبنود خدمة 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 وحدة تقريبًا إلى 1600 وحدة تقريبًا.
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
لا يقتصر هذا الخطأ على طريقة معيّنة لواجهة برمجة التطبيقات. يشير هذا الرمز إلى أنّ مستخدم نظام إدارة المحتوى (CMS) الذي يطلب واجهة برمجة التطبيقات لا يملك الأذونات الكافية لتنفيذ العملية المطلوبة. ويرتبط هذا الخطأ باستخدام مَعلمة onBehalfOfContentOwner
التي يمكن استخدامها في عدة طُرق لواجهة برمجة التطبيقات.unauthorized
authorizationRequired
تعرض الطريقة activities.list
هذا الخطأ عندما يستخدم الطلب مَعلمةhome
ولكن غير مسموح به بشكل صحيح. -
في المورد
channels
، تمت إزالة السمةinvideoPromotion.channelId
لأنّه سبق أن تم تحديد معرّف القناة باستخدام سمةid
الخاصة بالمورد. -
يشرح دليل العمل باستخدام معرّفات القنوات الجديد كيفية استخدام واجهة برمجة التطبيقات لمعرّفات القنوات. قد يكون هذا الدليل مفيدًا بشكل خاص للمطوّرين الذين ينتقلون من الإصدار السابق من واجهة برمجة التطبيقات ولديهم تطبيقات تطلب إما المحتوى لمستخدم
default
أو التي تعتمد على فكرة أنّ كل قناة على YouTube لها اسم مستخدم فريد، وهو الأمر نفسه.
22 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك طريقة
channelBanners.insert
الجديدة تحميل صورة بانر يمكن ضبطها لاحقًا كصورة بانر لقناة باستخدام سمةbrandingSettings.image.bannerExternalUrl
الجديدة للموردchannel
. -
تم تعديل المستندات المتعلقة بطريقة
channels.update
لإدراج السمات التي يمكن تعديلها عند استدعاء الطريقة. -
لم تَعُد مستندات الموارد
video
تدرجunspecified
كقيمة صالحة للسماتsuggestions.processingErrors[]
وsuggestions.processingHints[]
وsuggestions.processingWarnings[]
وsuggestions.editorSuggestions[]
. -
أصبح لمعلَمة
maxResults
الخاصة بطريقةvideos.list
الآن القيمة التلقائية5
. -
تسرد
error documentation
الآن الأخطاء للطريقتَينchannelBanners.insert
وsubscriptions.list
. ويسرد أيضًا العديد من الأخطاء الجديدة لطريقةchannels.update
.
14 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تُدرج الصفحات المستقلة الآن نماذج رموز برمجية لكل من Java و.NET وPHP وRuby.
-
إنّ الصفحة التي تتضمّن نماذج رموز Python تشمل الآن أمثلة لإضافة اشتراك وإنشاء قائمة تشغيل وتعديل الفيديو.
10 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
لم يعُد YouTube يحدد ميزات وخدمات واجهة برمجة التطبيقات التجريبية. بدلاً من ذلك، نقدّم الآن قائمة بواجهات برمجة تطبيقات YouTube التي تخضع لسياسة الإيقاف النهائي.
8 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
أصبحت موارد القناة تتيح الآن العنصر
inVideoPromotion
الذي يتضمّن معلومات حول حملة ترويجية مرتبطة بالقناة. يمكن للقناة استخدام حملة ترويجية ضمن الفيديو لعرض صور مصغّرة لفيديو دعائي ضمن مشغّل الفيديو أثناء تشغيل فيديوهات القناة.يمكنك استرداد هذه البيانات عن طريق تضمين
invideoPromotion
في قيمة المعلَمةpart
في طلبchannels.list
. -
يمكن استخدام طريقة
channels.update
الجديدة لتعديل بيانات الحملة الترويجية ضمن الفيديو على القناة. يُرجى العِلم أنّ هذه الطريقة تتيح إجراء تعديلات على الجزءinvideoPromotion
من موردchannel
فقط، ولا تتيح بعد إجراء تعديلات على أجزاء أخرى من هذا المورد.
2 أيار (مايو) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
أصبحت موارد القناة الآن متوافقة مع السمة
status.isLinked
التي تحدد ما إذا كانت بيانات القناة تحدد ما إذا كان المستخدم مرتبطًا بحساب YouTube أو حساب +Google. يمتلك المستخدم الذي يملك أحد هذه الروابط هوية YouTube عامة، وهذا شرط أساسي لتنفيذ عدة إجراءات، مثل تحميل الفيديوهات. -
تتيح موارد الاشتراك الآن الجزء
subscriberSnippet
. يحتوي هذا العنصر على بيانات مقتطف لقناة المشترك. -
أصبحت واجهة برمجة التطبيقات متوافقة الآن مع الطريقة
videos.getRating
التي تسترد التقييمات التي قدّمها المستخدم الذي تمت مصادقته لقائمة فيديو واحد أو أكثر. -
تتيح لك مَعلمة
myRating
الجديدة في طريقةvideos.list
استرداد قائمة بالفيديوهات التي قيّمها المستخدم الذي تمت المصادقة عليه وحصلت على تقييمlike
أوdislike
.أصبحت المَعلمة
myRating
والمَعلمةid
تُعتبران مَعلمتَين للفلترة، ما يعني أنّ طلب البيانات من واجهة برمجة التطبيقات يجب أن يحدّد مَعلمة واحدة بالضبط. (في السابق، كانت المعلَمةid
مَعلمة مطلوبة لهذه الطريقة).تعرض هذه الطريقة الخطأ
forbidden
للطلبات التي تحاول استرداد معلومات تقييم الفيديو، لكنها غير مصرح لها بفعل ذلك بشكل صحيح. -
مع إطلاق المَعلمة
myRating
، تم أيضًا تعديل طريقةvideos.list
لإتاحة تقسيم النتائج على عدّة صفحات. مع ذلك، يُرجى العلم أنّ معلَمات ترقيم الصفحات متاحة فقط للطلبات التي تستخدم المَعلمةmyRating
. (لا يمكن استخدام معلَمات الصفحات والمعلومات للطلبات التي تستخدم المَعلمةid
).-
تحدد المعلمة
maxResults
الحد الأقصى لعدد الفيديوهات التي يمكن لواجهة برمجة التطبيقات عرضها في مجموعة النتائج، وتحدد المعلمةpageToken
صفحة معينة في مجموعة النتائج تريد استردادها. -
إنّ المورد
youtube#videoListResponse
، الذي يتم عرضه استجابةً لطلبvideos.list
، يحتوي الآن على العنصرpageInfo
الذي يحتوي على تفاصيل مثل العدد الإجمالي للنتائج وعدد النتائج المضمَّنة في مجموعة النتائج الحالية. يمكن أن يتضمّن موردyoutube#videoListResponse
أيضًا السمتَينnextPageToken
وprevPageToken
، ويوفّر كل منهما رمزًا مميّزًا يمكن استخدامه لاسترداد صفحة معيّنة في مجموعة النتائج.
-
-
تتيح طريقة
videos.insert
استخدام المَعلمات الجديدة التالية:autoLevels
– عيِّن قيمة المعلمة هذه علىtrue
لتوجيه YouTube إلى تحسين إضاءة الفيديو ولونه تلقائيًا.stabilize
– عيِّن قيمة المعلمة هذه علىtrue
لتوجيه YouTube بتعديل الفيديو عن طريق إزالة الاهتزاز الناتج عن حركات الكاميرا.
-
تمت إضافة السمة
channelTitle
إلىsnippet
للمراجع التالية:playlistItem
– تحدد السمة اسم القناة التي أضافت عنصر قائمة التشغيل.playlist
– تحدد السمة اسم القناة التي أنشأت قائمة التشغيل.subscription
– تحدد السمة اسم القناة التي اشترك فيها.
-
تمت إضافة عيّنات التعليمات البرمجية للطُرق التالية:
activities.insert
(ياقوت أحمر)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java، Ruby)videos.insert
(.NET، Ruby)
-
تتيح لك معلمة
mySubscribers
الجديدة لطريقةsubscriptions.list
إمكانية استرداد قائمة بمشتركي المستخدم الذين تمت مصادقتهم حاليًا. لا يمكن استخدام هذه المَعلمة إلّا في طلب مصرّح به بشكل صحيح.ملاحظة: تهدف هذه الوظيفة إلى استبدال مَعلمة
mySubscribers
المتاحة حاليًا لطريقةchannels.list
. سيتم إيقاف هذه المعلمة نهائيًا. -
في مورد
video
، لم تعد قيمة السمةunspecified
قيمة ممكنة لأيٍّ من السمات التالية: -
تعرض طلبات البيانات من واجهة برمجة التطبيقات التي تحتوي على مَعلمة غير متوقّعة الخطأ
badRequest
، والسبب الذي تم الإبلاغ عنه للخطأ هوunexpectedParameter
. -
يشير ذلك المصطلح إلى الخطأ الذي يظهر من خلال طريقة
playlistItems.insert
عندما تحتوي قائمة التشغيل على الحد الأقصى المسموح به لعدد العناصر التي تم تعديلها. تم الآن الإبلاغ عن الخطأ على أنّه خطأforbidden
وسبب الخطأ هوplaylistContainsMaximumNumberOfVideos
.
19 نيسان (أبريل) 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح طريقة
videos.rate
الجديدة للمستخدم تحديد تقييم بـlike
أوdislike
لفيديو معيّن أو إزالة تقييم منه.تم أيضًا تعديل مستندات الخطأ لسرد الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لطلب طريقة
videos.rate
. -
يتم الآن تحديد الصور المصغّرة في مستندات واجهة برمجة التطبيقات باعتبارها موردًا منفصلاً، وتتيح لك طريقة
thumbnails.set
الجديدة تحميل صورة مصغّرة مخصّصة للفيديو إلى YouTube وضبطها لفيديو معيّن.تم أيضًا تعديل مستندات الخطأ لسرد الأخطاء التي قد تعرضها واجهة برمجة التطبيقات استجابةً لطلب طريقة
thumbnails.set
.يُرجى العلم أنّ هذا التغيير لا يؤثر بشكل كبير في الموارد الحالية التي تعرض صورًا مصغّرة. يتم عرض الصور المصغّرة في تلك الموارد بالطريقة نفسها التي كانت عليها في السابق، على الرغم من أن الوثائق تسرد الآن أسماء أحجام الصور المصغّرة المختلفة التي قد تعرضها واجهة برمجة التطبيقات.
-
يحدّد الجزء الجديد
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
– PythonplaylistItems.list
– Java، وJavaScript، وPHP، وPython، وRubyplaylists.insert
– Java، JavaScript، Pythonsearch.list
– Java، وJavaScript، وPython، وRubyvideos.insert
– Java
-
يمكن لمورد
activity
الآن الإبلاغ عن الإجراءchannelItem
، والذي يحدث عندما يضيف YouTube فيديو إلى قناة يتم إنشاؤها تلقائيًا على YouTube. (يحدّد YouTube من خلال الخوارزميات المواضيع التي لها حضور كبير على موقع YouTube الإلكتروني، وينشئ تلقائيًا قنوات تتناول هذه المواضيع). -
تم تعديل مَعلمتَي
search.list
التالية:- لم يعُد يتم تصنيف المعلَمة
q
كفلتر، ما يعني .... - تمت إعادة تسمية المعلَمة
relatedToVideo
إلىrelatedToVideoId
. - تم استبدال المَعلمة
published
بمَعلمتَين جديدتَين، وهماpublishedAfter
وpublishedBefore
، على النحو الموضّح أدناه.
- لم يعُد يتم تصنيف المعلَمة
-
تتيح طريقة
search.list
استخدام المَعلمات الجديدة التالية:اسم المعلَمة القيمة الوصف channelId
string
عرض الموارد التي أنشأتها القناة المحددة. publishedAfter
datetime
يمكنك عرض الموارد التي تم إنشاؤها بعد الوقت المحدَّد. publishedBefore
datetime
يمكنك عرض الموارد التي تم إنشاؤها قبل الوقت المحدَّد. regionCode
string
إرجاع الموارد للبلد المحدّد videoCategoryId
string
يمكنك فلترة نتائج البحث عن الفيديوهات لتضمين الفيديوهات المرتبطة بفئة الفيديوهات المحدّدة فقط. videoEmbeddable
string
يمكنك فلترة نتائج البحث عن الفيديو لتضمين الفيديوهات التي يمكن تشغيلها في مشغّل مضمّن في صفحة ويب فقط. اضبط قيمة المعلَمة على true
لاسترداد الفيديوهات القابلة للتضمين فقط.videoSyndicated
string
يمكنك فلترة نتائج البحث عن الفيديو لتضمين الفيديوهات التي يمكن تشغيلها خارج YouTube.com فقط. اضبط قيمة المَعلمة على true
لاسترداد الفيديوهات المقتبسة فقط. -
يتيح العديد من موارد واجهة برمجة التطبيقات استخدام خصائص جديدة. يحدّد الجدول التالي الموارد وخصائصها الجديدة:
المورد اسم الموقع القيمة الوصف activity
contentDetails.playlistItem.playlistItemId
string
معرّف عنصر قائمة التشغيل الذي عيّنه YouTube لتحديد العنصر في قائمة التشغيل بشكل فريد. activity
contentDetails.channelItem
object
كائن يحتوي على معلومات حول مورد تمت إضافته إلى قناة لا تتوفّر هذه السمة إلا إذا كانت قيمة snippet.type
هيchannelItem
.activity
contentDetails.channelItem.resourceId
object
كائن يعرّف المورد الذي تمت إضافته إلى القناة وكما هي الحال في سمات resourceId
الأخرى، يتضمّن هذا الحقل السمةkind
التي تحدّد نوع المصدر، مثل فيديو أو قائمة تشغيل. يحتوي أيضًا على سمة من السمات المتعددة،videoId
،playlistId
، وغيرها، والتي تحدد المعرّف الذي يعرّف هذا المورد بشكل فريد.channel
status
object
يتضمّن هذا العنصر معلومات حول حالة خصوصية القناة. channel
status.privacyStatus
string
حالة خصوصية القناة القيمتان الصالحتان هما private
وpublic
.playlist
contentDetails
object
يحتوي هذا العنصر على بيانات وصفية حول محتوى قائمة التشغيل. playlist
contentDetails.itemCount
unsigned integer
عدد الفيديوهات في قائمة التشغيل playlist
player
object
يحتوي هذا الكائن على معلومات يمكنك استخدامها لتشغيل قائمة التشغيل في مشغل مضمّن. playlist
player.embedHtml
string
علامة <iframe>
تتضمّن مشغّل فيديو يشغّل قائمة التشغيلvideo
recordingDetails
object
يتضمّن هذا العنصر معلومات تحدّد أو تصف المكان والوقت اللذين تم تسجيل الفيديو فيهما. video
recordingDetails.location
object
يحتوي هذا العنصر على معلومات الموقع الجغرافي المرتبطة بالفيديو. video
recordingDetails.location.latitude
double
خط العرض بالدرجات. video
recordingDetails.location.longitude
double
خط الطول بالدرجات. video
recordingDetails.location.elevation
double
الارتفاع فوق الأرض، بالأمتار video
recordingDetails.locationDescription
string
وصف نصي للموقع الجغرافي حيث تم تسجيل الفيديو video
recordingDetails.recordingDate
datetime
تاريخ ووقت تسجيل الفيديو يتم تحديد القيمة بتنسيق ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
تحدّد المستندات الخاصة بالعديد من طرق واجهة برمجة التطبيقات الآن السمات التي يجب تحديدها في نص الطلب أو السمات التي يتم تعديلها استنادًا إلى القيم في نص الطلب. يسرد الجدول التالي هذه الطرق بالإضافة إلى الخصائص المطلوبة أو القابلة للتعديل.
ملاحظة: قد تتضمّن مستندات الطرق الأخرى السمات المطلوبة والقابلة للتعديل.
الطريقة أماكن إقامة activities.insert
السمات المطلوبة: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
السمات المطلوبة: id
playlistItems.update
السمات المطلوبة: id
videos.update
السمات المطلوبة: id
-
لم تعد واجهة برمجة التطبيقات تعرض رسالة الخطأ
playlistAlreadyExists
إذا حاولت إنشاء أو تعديل قائمة تشغيل تحمل العنوان نفسه لقائمة تشغيل حالية في القناة نفسها. -
هناك عدة طرق لواجهة برمجة التطبيقات تتيح أنواعًا جديدة من الأخطاء. يحدد الجدول أدناه الطريقة والأخطاء المتوافقة حديثًا:
الطريقة نوع الخطأ تفاصيل الخطأ الوصف guideCategories.list
notFound
notFound
يتعذّر العثور على فئة الدليل المحدّدة من خلال المعلَمة id
. استخدِم الطريقة guideCategories.list لاسترداد قائمة بالقيم الصالحة.playlistItems.delete
forbidden
playlistItemsNotAccessible
لا يُسمح للطلب بحذف عنصر قائمة التشغيل المحدّد. videoCategories.list
notFound
videoCategoryNotFound
لا يمكن العثور على فئة الفيديو التي تحدّدها مَعلمة id
. استخدِم الإجراء videoCategories.list لاسترداد قائمة بالقيم الصالحة.