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