أحدث إصدار من Google Drive API هو الإصدار 3. يكون الأداء في الإصدار 3 أفضل لأن عمليات البحث لا تعرض سوى مجموعة فرعية من الحقول. استخدِم الإصدار الحالي ما لم تكن بحاجة إلى مجموعة v2. إذا كنت تستخدم الإصدار 2، ففكر في الانتقال إلى الإصدار 3. لنقل البيانات، يُرجى الاطّلاع على نقل البيانات إلى الإصدار 3 من Drive API. للحصول على قائمة كاملة بالاختلافات بين الإصدارات، يُرجى الاطّلاع على مرجع المقارنة للإصدارَين 2 و3 من Drive API.
إذا أردت مواصلة استخدام الإصدار 2، يمكنك الاطّلاع على تعديل دليل الإصدار 2 من Drive API للتعرّف على كيفية تعديل بعض التعليمات الواردة في هذه الإرشادات للمطوّرين للإصدار 2.
لمعرفة المزيد حول تحسينات الإصدار الثالث من Drive API، يمكنك مشاهدة الفيديو التالي الذي أعدّه مهندسو Google وهو يناقش تصميم واجهة برمجة التطبيقات الجديد.
تحسينات الإصدار الثالث
لتحسين الأداء وتقليل تعقيد سلوك واجهة برمجة التطبيقات، يوفّر الإصدار 3 هذه التحسينات مقارنةً بإصدار واجهة برمجة التطبيقات السابق:
- لا تعرض عمليات البحث عن الملفات ومساحات التخزين السحابي المشتركة الموارد الكاملة تلقائيًا،
ولكن لا يتم عرض سوى مجموعة فرعية من الحقول الشائعة الاستخدام. لمزيد من التفاصيل عن
fields
، يمكنك الاطّلاع على طريقةfiles.list
وطريقةdrives.list
. - تتطلب جميع الطرق تقريبًا التي تعرض استجابة الآن المعلَمة
fields
. للحصول على قائمة بجميع الطرق التي تتطلبfields
، يمكنك الاطّلاع على مرجع واجهة برمجة تطبيقات Drive. - تمت إزالة المراجع التي تحتوي على إمكانيات مكرّرة. في ما يلي بعض الأمثلة:
- تنفِّذ الطريقة
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
في الموردabout
قوائم بتنسيقات الاستيراد أو التصدير المسموح بها. في الإصدار 3، تكون خرائط من نوع MIME للأهداف المحتملة لجميع عمليات الاستيراد أو التصدير المدعومة. - أصبح اسما الإصدارين 2
appdata
وappfolder
البديلَين الآن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
).