توضّح هذه الصفحة كيفية البحث عن الملفات التي تم تطبيق تصنيف أو قيمة حقل معيّنة عليها.
أنواع حقول التصنيف
تتم كتابة حقول تصنيفات Google Drive بشكل كبير بحيث يتيح كل نوع دلالات مختلفة للفهرسة والبحث. يعرض الجدول التالي أنواع البيانات المتاحة.
النوع | خيارات نوع التصنيف | عوامل تشغيل البحث المتوافقة |
---|---|---|
نص | TextOptions | is null, is not null, =, contains, starts with |
نص طويل | LongTextOptions | is null, is not null, contains |
عدد صحيح | IntegerOptions | is null, is not null, =, !=, <, >, <=, >= |
التاريخ | DateOptions | is null, is not null, =, !=, <, >, <=, >= |
الاختيار | SelectionOptions | is null, is not null, =, != |
مستخدم | UserOptions | is null, is not null, =, != |
قائمة الاختيارات | SelectionOptions (مع max_entries > 1) | is null, is not null, in, not in |
قائمة المستخدمين | UserOptions (مع max_entries > 1) | is null, is not null, in, not in |
أمثلة البحث
1. البحث استنادًا إلى توفّر تصنيف أو حقل
يمكنك البحث عن العناصر التي تم تطبيق تصنيف معيّن عليها (أو لم يتم تطبيقه عليها):
'labels/contract' in labels
not 'labels/contract' in labels
يمكنك أيضًا البحث عن العناصر التي تم (أو لم يتم) ضبط حقل معيّن فيها:
labels/contract.comment IS NOT NULL
labels/contract.comment IS NULL
2- البحث استنادًا إلى الحقول ذات القيمة الواحدة
يمكنك كتابة طلبات بحث لمطابقة قيم الحقول المتوقّعة. يعرض الجدول التالي استعلامات الحقول الصالحة:
ما تريد الاستعلام عنه | سلسلة طلب البحث |
---|---|
العناصر التي تم ضبط التعليق فيها على "hello" | labels/contract.comment = 'hello' |
الملفات التي يبدأ فيها التعليق بـ "مرحبًا" | labels/contract.comment STARTS WITH 'hello' |
الملفات التي تم تنفيذ الحالة فيها | labels/contract.status = 'executed' |
الملفات التي لم يتم تنفيذ الحالة فيها | labels/contract.status != 'executed' |
الملفات التي يكون فيها تاريخ التنفيذ قبل تاريخ محدّد | labels/contract.execution_date < '2020-06-22' |
الملفات التي تكون فيها قيمة value_usd (عدد صحيح) أقل من قيمة محدّدة | labels/contract.value_usd < 2000 |
الملفات التي تم ضبط client_contact فيها على عنوان بريد إلكتروني محدّد | labels/contract.client_contact = 'alex@altostrat.com' |
3. البحث استنادًا إلى الحقول التي تحتوي على حقول متعددة القيم (مثل ListOptions.max_entries > 1)
لا يمكن الاستعلام عن الحقول التي تتيح استخدام قيم متعدّدة إلا باستخدام عامل التشغيل IN:
'EMAIL_ADDRESS' IN labels/project.project_leads
NOT 'EMAIL_ADDRESS' IN labels/project.project_leads
مثال
يوضّح نموذج الرمز البرمجي التالي كيفية استخدام labelId
واحد أو أكثر لعرض كل
الملفات التي تحتوي على تصنيف أو قيمة حقل محدّدة من ملف
مصدر في Drive. وهي تستخدم أيضًا الطريقة
files.list
. يجب أن يكون
نص الطلب فارغًا.
إذا أردت تضمين labelInfo
في الردّ، عليك أيضًا تحديد ما يلي:
includeLabels
كقائمة معرّفات مفصولة بفواصل.labelInfo
في المَعلمةfields
للإشارة إلى أنّك تريد عرضlabelInfo
خلالincludeLabels
.
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على قائمة بالملفات.
Java
List<File> fileList = driveService.files().list().setIncludeLabels("LABEL_1_ID,LABEL_2_ID").setFields("items(labelInfo, id)").setQ("'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels").execute().getItems();
Python
file_list = drive_service.files().list(includeLabels="LABEL_1_ID,LABEL_2_ID", q="'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels", fields="items(labelInfo, id)").execute();
Node.js
/**
* Search for Drive files with specific labels
* @return{obj} file list with labelInfo
**/
async function searchForFileWithLabels() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
try {
const fileList = await service.files.list({
includeLabels: 'LABEL_1_ID,LABEL_2_ID',
q: '\'labels/LABEL_1_ID\' in labels and \'labels/LABEL_2_ID\' in labels',
fields:'files(labelInfo, id)',
});
return file;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
غيِّر القيم في السلسلة على الشكل التالي:
- LABEL_1_ID: أول
labelId
من تصنيف لإرجاعه - LABEL_2_ID:
labelId
الثاني لملصق الإرجاع.