במדריך הזה מוסבר איך ליצור ולנהל קבצים ב-Google Drive באמצעות Google Drive API.
יצירת קובץ
כדי ליצור ב-Drive קובץ שלא מכיל מטא-נתונים או תוכן, צריך להשתמש בשיטה create
במשאב files
ללא פרמטרים.
כשיוצרים את הקובץ, השיטה מחזירה משאב files
. לקובץ ניתן kind
של drive.file
, id
, name
של Untitled וmimeType
של application/octet-stream
. המאפיין
uploadType
מסומן כמאפיין חובה, אבל ערך ברירת המחדל שלו הוא media
, כך שבעצם לא צריך לספק אותו.
מידע נוסף על מגבלות קבצים ב-Drive זמין במאמר מגבלות על קבצים ותיקיות.
שימוש בפרמטר fields
אם רוצים לציין את השדות שיוחזרו בתגובה, אפשר להגדיר את fields
פרמטר המערכת files
בכל שיטה של המשאב. אם משמיטים את הפרמטר fields
, השרת מחזיר קבוצת ברירת מחדל של שדות שספציפיים לשיטה. לדוגמה, ה-method list
מחזירה רק את השדות kind
, id
, name
, mimeType
ו-resourceKey
לכל קובץ. כדי להחזיר שדות שונים, אפשר לעיין במאמר החזרת שדות ספציפיים.
יצירת מזהים לשימוש בקבצים
השיטה generateIds
במשאב files
מאפשרת ליצור מראש מזהי קבצים ייחודיים שאפשר להשתמש בהם כשיוצרים או מעתיקים קבצים ותיקיות ב-Drive. האפשרות הזו שימושית כשרוצים לשלוט במזהי הקבצים מהאפליקציה, במקום לאפשר ל-Drive להקצות אותם באופן אוטומטי.
אפשר להגדיר את מספר המזהים שייווצרו באמצעות פרמטר השאילתה count
.
אם לא מגדירים את count
, המערכת מחזירה כברירת מחדל 10. המספר המקסימלי של מזהים שאפשר לבקש הוא 1,000.
אפשר גם לציין את space
שבו אפשר להשתמש במזהים ואת type
של הפריטים שאפשר להשתמש במזהים שלהם.
אחרי שנוצר מזהה, אפשר להעביר אותו לשיטה create
או copy
דרך השדה id
. כך מוודאים שהקובץ שנוצר או שהועתק ישתמש במזהה שנקבע מראש.
אם הקובץ נוצר או מועתק בהצלחה, ניסיונות חוזרים להעלאה יחזירו תגובה עם קוד סטטוס HTTP 409
Conflict
ולא ייצרו קבצים כפולים.
שימו לב: אי אפשר להשתמש במזהים שנוצרו מראש כדי ליצור קבצים ב-Google Workspace, למעט application/vnd.google-apps.drive-sdk
וapplication/vnd.google-apps.folder
סוגי MIME. באופן דומה, אין תמיכה בהעלאות שמתייחסות להמרה לפורמט קובץ של Google Workspace.
יצירת קבצים שמכילים רק מטא-נתונים
קבצים של מטא-נתונים בלבד לא מכילים תוכן. מטא-נתונים הם נתונים (כמו name
, mimeType
ו-createdTime
) שמתארים את הקובץ. שדות כמו name
לא קשורים למשתמשים ומופיעים באופן זהה לכל משתמש, בעוד ששדות כמו viewedByMeTime
מכילים ערכים שספציפיים למשתמש.
דוגמה לקובץ של מטא-נתונים בלבד היא תיקייה עם סוג ה-MIME
application/vnd.google-apps.folder
. מידע נוסף זמין במאמר יצירה של תיקיות והוספת קבצים לתיקיות. דוגמה נוספת היא קיצור דרך שמפנה לקובץ אחר ב-Drive עם סוג ה-MIME application/vnd.google-apps.shortcut
. מידע נוסף זמין במאמר יצירת קיצור דרך לקובץ ב-Drive.
ניהול תמונות ממוזערות
תמונות ממוזערות עוזרות למשתמשים לזהות קבצים ב-Drive. Drive יכול ליצור באופן אוטומטי תמונות ממוזערות לסוגי קבצים נפוצים, או שאתם יכולים לספק תמונה ממוזערת שנוצרה על ידי האפליקציה שלכם. מידע נוסף זמין במאמר בנושא העלאת תמונות ממוזערות.
העתקת קובץ קיים
כדי להעתיק קובץ ולהחיל את העדכונים הנדרשים, משתמשים ב-method copy
במשאב files
. כדי למצוא את fileId
להעתקה, משתמשים בשיטה list
.
אפשר להחיל עדכונים באמצעות סמנטיקה של תיקון, כלומר אפשר לבצע שינויים חלקיים במשאב. צריך להגדיר במפורש בבקשה את השדות שרוצים לשנות. כל השדות שלא נכללים בבקשה שומרים על הערכים הקיימים שלהם. מידע נוסף זמין במאמר עבודה עם משאבים חלקיים.
אפשר להגדיר מראש את מזהה הקובץ של הקובץ המועתק באמצעות ה-method generateIds
. מידע נוסף זמין במאמר יצירת מזהים לשימוש בקבצים.
שימו לב: כדי לתת הרשאה לקריאה, צריך להשתמש בהיקף מתאים של Drive API. מידע נוסף על היקפי הרשאות ב-Drive זמין במאמר בחירת היקפי הרשאות של Google Drive API.
מגבלות ושיקולים
כשמתכוננים להעתקת קבצים, חשוב לשים לב למגבלות ולשיקולים הבאים:
הרשאות:
- האובייקט
DownloadRestrictionsMetadata
של המשאבfiles
קובע מי יכול להעתיק את הקובץ. מידע נוסף זמין במאמר בנושא איך מונעים ממשתמשים להוריד, להדפיס או להעתיק את הקובץ. - שדה המשאב
capabilities.canCopy
קובע אם המשתמש יכול להעתיק קובץ. מידע נוסף זמין במאמר הסבר על היכולות של הקבצים. - המשתמש שיצר את העותק הוא הבעלים של הקובץ שהועתק. הגדרות שיתוף אחרות מקובץ המקור לא משוכפלות. אם העותק נוצר בתיקייה משותפת, הוא מקבל בירושה את ההרשאות של התיקייה הזו.
- הבעלות על קובץ שהועתק עשויה להשתנות, וההעתק לא יקבל בירושה את הגדרות השיתוף של הקובץ המקורי. יכול להיות שתצטרכו לאפס את ההגדרות האלה.
- האובייקט
ניהול קבצים:
- אי אפשר להעתיק קבצים מסוימים, כמו קיצורי דרך של צד שלישי.
- אפשר להעתיק קובץ רק לתיקיית אב אחת. אי אפשר לציין כמה הורים. אם השדה
parents
לא מצוין, הקובץ מקבל בירושה את כל קובצי ההורה שאפשר לגלות מקובץ המקור. - למרות שתיקייה היא סוג של קובץ, אי אפשר להעתיק תיקייה.
במקום זאת, יוצרים תיקיית יעד ומגדירים את השדה
parents
של הקבצים הקיימים לתיקיית היעד. אחרי זה אפשר למחוק את תיקיית המקור המקורית. - אלא אם מציינים שם קובץ חדש, השיטה
copy
יוצרת קובץ עם אותו שם כמו הקובץ המקורי. - שימוש מוגזם ב-
copy
עלול לגרום לחריגה ממגבלות המכסה של Drive API. מידע נוסף זמין במאמר בנושא מגבלות שימוש.
נושאים קשורים
הנה כמה פעולות שאפשר לנסות:
כדי להעלות נתוני קבצים כשיוצרים או מעדכנים קובץ, אפשר לעיין במאמר בנושא העלאת נתוני קבצים.
כדי ליצור קובץ בתיקייה ספציפית, אפשר לעיין במאמר בנושא יצירת קובץ בתיקייה ספציפית.
כדי להעביר קבצים, אפשר לעיין במאמר העברת קבצים בין תיקיות.
מידע נוסף על עבודה עם מטא-נתונים של קבצים זמין במאמר ניהול מטא-נתונים של קבצים.
כדי למחוק קובץ, אפשר לעיין במאמר העברה לאשפה או מחיקה של קבצים ותיקיות.