ב-Google Drive API יש כמה דרכים לחפש קבצים ותיקיות.
אפשר להשתמש בשיטה files.list
כדי להציג את כל הקבצים והתיקיות של משתמש ב-Drive, או חלק מהם. אפשר גם להשתמש ב-method files.list
כדי לאחזר את ה-fileId
שנדרש ב-methods מסוימות של משאבים (כמו 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.
דוגמאות למחרוזות שאילתה
הטבלה הבאה מפרטת דוגמאות לכמה מחרוזות שאילתה בסיסיות. הקוד בפועל משתנה בהתאם לספריית הלקוח שבה משתמשים בחיפוש.
צריך גם להשתמש בתווי בריחה (escape) בתווים המיוחדים בשמות הקבצים כדי לוודא שהשאילתה פועלת כמו שצריך. לדוגמה, אם שם קובץ מכיל גם תו גרש ('
) וגם קו נטוי לאחור ("\"
), צריך להשתמש בקווי נטוי לאחור כדי להימלט מהם: 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' |
קבצים שלא מכילים את המילה 'שלום' | not fullText contains 'hello' |
קבצים שמכילים את הביטוי המדויק "שלום עולם" | fullText contains '"hello world"' |
קובצי שאת השאילתה שלהם מכיל התו '\"' (לדוגמה, \authors) | fullText contains '\\authors' |
קבצים שהם תיקיות | mimeType = 'application/vnd.google-apps.folder' |
קבצים שאינם תיקיות | mimeType != 'application/vnd.google-apps.folder' |
קבצים שהשתנו אחרי תאריך מסוים (אזור הזמן שמוגדר כברירת מחדל הוא UTC) | 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 |
קבצים ששותפו עם המשתמש המורשה וכוללים את המילה 'hello' בשם | 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
- תפקידים והרשאות
- חיפוש קבצים עם תווית או ערך שדה ספציפיים