توضّح هذه الصفحة كيفية البحث عن ملفات ذات تصنيف أو قيمة حقل معيّنَين. المنهجية.
أنواع حقول التصنيفات
تتم كتابة حقول التصنيفات في 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, =, != |
قائمة الاختيارات | SelectOptions (مع 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
.
في حال نجاح هذا الإجراء، سيتم إدخال body يحتوي على القائمة من الملفات.
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
الثاني من التصنيف المطلوب عرضه.