تتيح واجهة برمجة التطبيقات 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' |
الملفات التي لا يحتوي اسمها على كلمة "hello" | not name contains 'hello' |
الملفات التي تحتوي على النص "مهم" وفي المهملات | fullText contains 'important' and trashed = true |
الملفات التي تحتوي على كلمة "hello" | fullText contains 'hello' |
الملفات التي لا تتضمّن كلمة "hello" | not fullText contains 'hello' |
الملفات التي تحتوي على العبارة "hello world" بالضبط | 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
- الأدوار والأذونات
- البحث عن ملفات باستخدام تصنيف أو قيمة حقل محدّدَين