أحدث إصدار من Google Drive API هو الإصدار 3. يكون الأداء في الإصدار 3 أفضل لأنّ عمليات البحث تعرض مجموعة فرعية فقط من الحقول. استخدِم الإصدار الحالي ما لم تكن بحاجة إلى مجموعة v2. إذا كنت تستخدم الإصدار 2، ننصحك بالانتقال إلى الإصدار 3. لإجراء عملية نقل البيانات، يُرجى الاطّلاع على نقل البيانات إلى الإصدار 3 من Drive API. للاطّلاع على قائمة كاملة بالاختلافات بين الإصدارَين، يُرجى الرجوع إلى مرجع مقارنة الإصدارَين 2 و3 من Drive API.
إذا أردت مواصلة استخدام الإصدار 2، يمكنك الاطّلاع على التعديل دليل الإصدار 2 من Drive API لمعرفة كيفية تعديل بعض التعليمات الواردة في أدلة الإصدار 3 لتناسب مطوّري الإصدار 2.
لمزيد من المعلومات حول تحسينات الإصدار 3 من Drive API، يمكنك مشاهدة الفيديو التالي الذي يتضمّن مناقشة بين مهندسي Google حول تصميم واجهة برمجة التطبيقات الجديدة.
تحسينات الإصدار 3
لتحسين الأداء وتقليل تعقيد سلوك واجهة برمجة التطبيقات، يقدّم الإصدار 3 التحسينات التالية مقارنةً بإصدار واجهة برمجة التطبيقات السابق:
- لا تعرض عمليات البحث عن الملفات ومساحات التخزين السحابي المشتركة الموارد الكاملة تلقائيًا، بل يتم عرض مجموعة فرعية فقط من الحقول الشائعة الاستخدام. لمزيد من التفاصيل حول
fields
، يُرجى الاطّلاع على طريقةfiles.list
وطريقةdrives.list
. - تتطلّب جميع الطرق تقريبًا التي تعرض ردًا الآن المَعلمة
fields
. للحصول على قائمة بجميع الطرق التي تتطلّبfields
، يُرجى الاطّلاع على مرجع Drive API. - تمت إزالة المراجع التي تتضمّن إمكانات مكرّرة. في ما يلي بعض الأمثلة:
- تحقّق الطريقة
files.list
الوظيفة نفسها التي تحقّقها المجموعتانChildren
وParents
، لذا تمت إزالتهما من الإصدار 3. - تمت إزالة طريقتَي
Realtime.*
.
- تحقّق الطريقة
- لا يتم عرض "بيانات التطبيق" تلقائيًا في عمليات البحث. في الإصدار 2، يمكنك ضبط نطاق
drive.appdata
، وسيعرض بيانات التطبيق من الطريقتَينfiles.list
وchanges.list
، ولكن سيؤدي ذلك إلى إبطاء الأداء. في الإصدار 3، يمكنك ضبط نطاقdrive.appdata
، وكذلك ضبط مَعلمة طلب البحثspaces=appDataFolder
لطلب بيانات التطبيق. - تستخدم جميع عمليات التعديل PATCH بدلاً من PUT.
- لتصدير مستندات Google، استخدِم طريقة
files.export
. - يختلف سلوك الطريقة
changes.list
. بدلاً من تغيير المعرّفات، استخدِم رموزًا مميّزة غير شفافة للصفحات. لإجراء استطلاع بشأن مجموعة التغييرات، عليك أولاً استدعاء الطريقةchanges.getStartPageToken
للحصول على القيمة الأولية. بالنسبة إلى طلبات البحث اللاحقة، تعرض الطريقةchanges.list
القيمةnewStartPageToken
. - ترفض طرق التعديل الآن الطلبات التي تحدّد حقولاً غير قابلة للكتابة.
- الحقلان
exportFormats
وimportFormats
في الإصدار 2 من الموردabout
هما قائمتان بتنسيقات الاستيراد أو التصدير المسموح بها. في الإصدار 3، تكون عبارة عن خرائط لأنواع MIME الخاصة بالأهداف المحتملة لجميع عمليات الاستيراد أو التصدير المتوافقة. - أصبحت الأسماء المستعارة
appdata
وappfolder
في الإصدار 2 الآنappDataFolder
في الإصدار 3. - تمت إزالة المرجع
properties
من الإصدار 3. يحتوي المرجعfiles
على الحقلproperties
الذي يتضمّن أزواج مفاتيح وقيم صحيحة. يحتوي الحقلproperties
على خصائص عامة، ويحتوي الحقلappProperties
على خصائص خاصة، وبالتالي لا حاجة إلى حقل مستوى العرض. - يعدّل الحقل
modifiedTime
في موردfiles
آخر مرة عدّل فيها أي مستخدم الملف. في الإصدار 2، لم يكن الحقلmodifiedDate
قابلاً للتعديل عند التحديث إلا إذا تم ضبط الحقلsetModifiedDate
. - لا يتم تعديل الحقل
viewedByMeTime
في الموردfiles
تلقائيًا. - لاستيراد تنسيقات "مستندات Google"، عليك ضبط الهدف المناسب
mimeType
في نص المرجع. في الإصدار 2، يمكنك ضبط?convert=true
. - تعرض عمليات الاستيراد الخطأ 400 إذا كان التنسيق غير متوافق.
- لا يمكن للقراء والمعلِّقين الاطّلاع على الأذونات.
- تمت إزالة الاسم المستعار
me
للأذونات. - كانت بعض الوظائف متاحة كجزء من مورد الطلب، ولكنها أصبحت متاحة كمعلَمة طلب. على سبيل المثال:
- في الإصدار 2، يمكنك استخدام
children.delete
لإزالة ملف فرعي من مجلد رئيسي. - في الإصدار 3، يمكنك استخدام
files.update
على العنصر الفرعي مع?removeParents=parent_id
في عنوان URL.
- في الإصدار 2، يمكنك استخدام
الاختلافات الأخرى
تختلف الحقول وأسماء المَعلمات في الإصدار 3. ومن الأمثلة على ذلك:
- تحلّ السمة
name
محلّtitle
في المرجعfiles
. Time
هو اللاحقة لجميع حقول التاريخ والوقت بدلاً منDate
.- لا تستخدم عمليات القائمة الحقل
items
لاحتواء مجموعة النتائج. يوفر نوع المورد حقلاً للنتائج (مثلfiles
أوchanges
).