أحدث إصدار من 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. - ترفض طرق التعديل الآن الطلبات التي تحدّد حقولاً غير قابلة للكتابة.
- الحقلان v2
exportFormatsوimportFormatsفي مصدر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).