تتيح Google Drive API عدة طرق للبحث في الملفات والمجلدات.
يمكنك استخدام طريقة files.list
لإعادة
كل الملفات والمجلدات الخاصة بمستخدم Drive أو بعضها. يمكن أيضًا استخدام الطريقة files.list
لاسترداد fileId
المطلوب لبعض طرق
الموارد (مثل files.get
و
files.update
).
البحث عن جميع الملفات والمجلدات في "ملفاتي" للمستخدم الحالي
استخدِم الطريقة files.list
بدون أي مَعلمات لعرض جميع الملفات والملفّات المُهمّلة.
GET https://www.googleapis.com/drive/v3/files
البحث عن ملفات أو مجلدات معيّنة في "ملفاتي" للمستخدم الحالي
للبحث عن مجموعة معيّنة من الملفات أو المجلدات، استخدِم حقل سلسلة طلب البحث q
مع الطريقة files.list
لفلترة
الملفات التي سيتم عرضها من خلال دمج عبارة بحث واحدة أو أكثر.
تحتوي سلسلة طلب البحث على الأجزاء الثلاثة التالية:
query_term operator values
المكان:
query_term
هي عبارة طلب البحث أو الحقل الذي يتم البحث فيه.تحدّد السمة
operator
شرط عبارة طلب البحث.values
هي القيم المحدّدة التي تريد استخدامها لفلترة نتائج البحث.
للاطّلاع على عبارات البحث وعوامل التشغيل التي يمكنك استخدامها لفلترة الملفات والمجلدات، اطّلِع على عبارات وعوامل تشغيل طلبات البحث.
على سبيل المثال، تصفِّر سلسلة طلب البحث التالية عملية البحث لعرض ملفات مجلّدات فقط من خلال ضبط نوع MIME:
q: mimeType = 'application/vnd.google-apps.folder'
لمزيد من المعلومات حول أنواع MIME، يُرجى الاطّلاع على أنواع MIME المتوافقة مع Google Workspace وGoogle Drive.
أمثلة على سلاسل طلبات البحث
يعرض الجدول التالي أمثلة على بعض سلاسل طلبات البحث الأساسية. يختلف الرمز الفعلي حسب مكتبة العميل التي تستخدمها في عملية البحث.
يجب أيضًا إضافة أحرف إلغاء إلى الأحرف الخاصة في أسماء الملفات للتأكّد من أنّ
طلب البحث يعمل بشكل صحيح. على سبيل المثال، إذا كان اسم ملف يتضمّن كلاً من الشرطة المائلة للأمام
('
) والشرطة المائلة للخلف ("\"
)، استخدِم الشرطة المائلة للخلف للترميز: name
contains 'quinn\'s paper\\essay'
.
ما تريد الاستعلام عنه | مثال |
---|---|
الملفات التي تحمل الاسم "hello" | name = 'hello' |
الملفات التي تحمل اسمًا يتضمّن الكلمتين "مرحبًا" و"مع السلامة" | name contains 'hello' and name contains 'goodbye' |
الملفات التي تحمل اسمًا لا يحتوي على الكلمة "مرحبًا" | not name contains 'hello' |
الملفات التي تحتوي على النص "مُهم" والمُدرَجة في المهملات | fullText contains 'important' and trashed = true |
الملفات التي تحتوي على الكلمة "مرحبًا" | fullText contains 'hello' |
الملفات التي لا تحتوي على الكلمة "مرحبًا" | not fullText contains 'hello' |
الملفات التي تحتوي على العبارة "مرحبًا بك" بالضبط | fullText contains '"hello world"' |
الملفات التي تحتوي على طلب بحث يتضمّن الحرف "\" (مثل "\authors") | fullText contains '\\authors' |
الملفات التي تشكّل مجلدات | mimeType = 'application/vnd.google-apps.folder' |
الملفات التي ليست مجلدات | mimeType != 'application/vnd.google-apps.folder' |
الملفات التي تم تعديلها بعد تاريخ معيّن (المنطقة الزمنية التلقائية هي التوقيت العالمي المنسّق) | modifiedTime > '2012-06-04T12:00:00' |
ملفات الصور أو الفيديو المعدّلة بعد تاريخ محدّد | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
الملفات المميّزة بنجمة | starred = true |
الملفات ضمن مجموعة (على سبيل المثال، معرّف المجلد في مجموعة parents ) |
'1234567' in parents |
الملفات في مجلد بيانات التطبيق ضمن مجموعة | 'appDataFolder' in parents |
الملفات التي يملكها المستخدم "test@example.org" | 'test@example.org' in owners |
الملفات التي يملك المستخدم "test@example.org" إذنًا بالكتابة لها | 'test@example.org' in writers |
الملفات التي يملك أعضاء المجموعة "group@example.org" إذن كتابة لها | 'group@example.org' in writers |
الملفات التي تمت مشاركتها مع المستخدم المفوَّض الذي يتضمّن اسمه كلمة "مرحبًا" | sharedWithMe and name contains 'hello' |
الملفات التي تحتوي على سمة ملف مخصّصة مرئية لجميع التطبيقات | properties has { key='mass' and value='1.3kg' } |
الملفات التي تحتوي على سمة ملف مخصّصة خاصة بالتطبيق الذي يطلب الوصول | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
الملفات التي لم تتم مشاركتها مع أي شخص أو نطاقات (خاصة فقط، أو التي تمت مشاركتها مع مستخدمين أو مجموعات محدّدة) | visibility = 'limited' |
فلترة نتائج البحث باستخدام مكتبة عملاء
يوضّح نموذج الرمز البرمجي التالي كيفية استخدام مكتبة عملاء لفلترة نتائج البحث لتشمل أسماء الملفات ومعرّفات ملفات JPEG. يستخدم هذا العيّنة عبارة الطلب mimeType
لحصر النتائج على الملفات من النوع image/jpeg
. ويضبط الإجراء أيضًا قيمة spaces
على drive
لتضييق نطاق البحث أكثر على مساحة تخزين
Drive. عندما يعرض nextPageToken
القيمة null
،
لا تتوفّر أي نتائج أخرى.
Java
Python
Node.js
PHP
البحث عن الملفات التي تحتوي على خاصيّة ملف مخصّصة
للبحث عن ملفات ذات خاصية ملف مخصّصة، استخدِم عبارة طلب البحث properties
أو appProperties
مع مفتاح وقيمة. على سبيل المثال، للبحث عن صفة ملف مخصّصة خاصة بالتطبيق الذي يطلبها والتي تُسمّى
additionalID
وتكون قيمتها 8e8aceg2af2ge72e78
:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
لمزيد من المعلومات، يُرجى الاطّلاع على إضافة ملف مخصّص للخصائص.
البحث عن الملفات التي تتضمّن تصنيفًا أو قيمة حقل معيّنة
للبحث عن ملفات ذات تصنيفات محدّدة، استخدِم عبارة طلب البحث labels
مع معرّف تصنيف محدَّد. على سبيل المثال: 'labels/LABEL_ID' in
labels
. إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على جميع نُسخ الملف التي تم تطبيق التصنيف فيها.
للبحث عن ملفات بدون رقم تعريف تصنيف معيّن: Not
'labels/LABEL_ID' in labels
.
يمكنك أيضًا البحث عن الملفات استنادًا إلى قيم حقول معيّنة. على سبيل المثال، للبحث عن ملفات ذات قيمة نصية:
labels/LABEL_ID.text_field_id ='TEXT'
.
لمزيد من المعلومات، يُرجى الاطّلاع على البحث عن ملفات تتضمّن تصنيفًا أو قيمة حقل معيّنة.
البحث في مجموعات النصوص
إنّ عمليات البحث التي تستدعي files.list
تستخدم
corpora
من user
تلقائيًا. للبحث في مجموعات أخرى، مثل الملفات التي تمت مشاركتها مع domain
، اضبط المَعلمة corpora
.
يمكن البحث في مجموعات نصوص متعددة في طلب بحث واحد، إلا أنّه قد يتم عرض نتائج غير مكتملة
إذا كانت المجموعات المجمّعة كبيرة جدًا. إذا كانت قيمة incompleteSearch
هي
true
في نص الردّ، هذا يعني أنّه لم يتم عرض جميع المستندات. وفي حالة حدوث ذلك، يجب تضييق نطاق طلب البحث عن طريق اختيار مجموعات مختلفة مثل user
أو drive
.
مواضيع ذات صلة
- البحث عن مساحات التخزين السحابي المشتركة
- عبارات طلبات البحث وعوامل التشغيل
- أنواع MIME المتوافقة في Google Workspace وGoogle Drive
- الأدوار والأذونات
- البحث عن الملفات التي تحتوي على تصنيف أو قيمة حقل معيّنة