תיקיות הן קבצים שמכילים רק מטא-נתונים, ואפשר להשתמש בהן כדי לארגן קבצים ב-Google Drive. המאפיינים שלהם הם:
- תיקייה היא קובץ עם סוג MIME
application/vnd.google-apps.folder
ואין לה סיומת. - אפשר להשתמש בכינוי
root
כדי להפנות לתיקיית הבסיס בכל מקום שבו מצוין מזהה קובץ.
מידע נוסף על מגבלות בתיקיות ב-Drive זמין במאמר מגבלות על קבצים ותיקיות.
במדריך הזה מוסבר איך לבצע כמה משימות בסיסיות שקשורות לתיקיות.
יצירת תיקייה
כדי ליצור תיקייה, משתמשים ב-method files.create()
עם mimeType
של application/vnd.google-apps.folder
ו-name
.
דוגמת הקוד הבאה מראה איך ליצור תיקייה באמצעות ספריית לקוח:
Java
Python
Node.js
PHP
.NET
יצירת קובץ בתיקייה ספציפית
כדי ליצור קובץ בתיקייה ספציפית, משתמשים בשיטה files.create()
ומציינים את מזהה התיקייה במאפיין parents
של הקובץ.
המאפיין parents
מכיל את המזהה של תיקיית ההורה שמכילה את הקובץ.
אפשר להשתמש במאפיין parents
כשיוצרים קבצים בתיקייה ברמה העליונה או בכל תיקייה אחרת.
לקובץ יכולה להיות רק תיקיית הורה אחת. אין תמיכה בציון של כמה הורים. אם לא מציינים את השדה parents
, הקובץ ממוקם ישירות בתיקייה'האחסון שלי' של המשתמש.
בדוגמת הקוד הבאה אפשר לראות איך ליצור קובץ בתיקייה ספציפית באמצעות ספריית לקוח:
Java
Python
Node.js
PHP
.NET
העברת קבצים בין תיקיות
כדי להעביר קבצים, צריך לעדכן את המזהה של נכס parents
.
כדי להוסיף או להסיר הורים לקובץ קיים, משתמשים בשיטה files.update()
עם פרמטרי השאילתה addParents
ו-removeParents
.
לקובץ יכולה להיות רק תיקיית הורה אחת. אין תמיכה בציון של כמה הורים.
בדוגמת הקוד הבאה אפשר לראות איך מעבירים קובץ בין תיקיות באמצעות ספריית לקוח:
Java
Python
Node.js
PHP
.NET
מגבלות על קבצים ותיקיות
יש מגבלות אחסון מסוימות לקבצים ולתיקיות ב-Drive.
מגבלת הפריטים למשתמש
כל משתמש יכול ליצור עד 500 מיליון פריטים בחשבון. כשהמכסה תיגמר, המשתמש לא יוכל יותר ליצור פריטים ב-Drive או להעלות אליו פריטים. הם עדיין יכולים לראות ולערוך פריטים קיימים. כדי ליצור קבצים מחדש, המשתמשים צריכים למחוק פריטים באופן סופי או להשתמש בחשבון אחר. מידע נוסף זמין במאמר העברה לאשפה או מחיקה של קבצים ותיקיות.
האובייקטים שנכללים במגבלה הזו הם:
- פריטים שהמשתמש יצר או העלה ב-Drive
- פריטים שהמשתמש יצר אבל עכשיו נמצאים בבעלות של מישהו אחר
- פריטים באשפה
- קיצורי דרך
- קיצורי דרך של צד שלישי
אובייקטים שלא נכללים במגבלה הזו:
- פריטים שנמחקו באופן סופי
- פריטים ששותפו עם המשתמש אבל נמצאים בבעלות של מישהו אחר
- פריטים שנמצאים בבעלות המשתמש אבל נוצרו על ידי מישהו אחר
ניסיון להוסיף יותר מ-500 מיליון פריטים יחזיר קוד סטטוס HTTP activeItemCreationLimitExceeded
.
חשוב לדעת: חשבונות שירות לא יכולים להיות הבעלים של קבצים. במקום זאת, הם צריכים להעלות קבצים ותיקיות לאחסון השיתופי, או להשתמש ב-OAuth 2.0 כדי להעלות פריטים בשם משתמש אנושי.
מגבלת פריטים בתיקייה
בכל תיקייה בתיקיית 'האחסון שלי' של המשתמש יש מגבלה של 500,000 פריטים. המגבלה הזו לא חלה על תיקיית הבסיס של 'האחסון שלי'. הפריטים שכלולים במגבלה הזו הם:
- תיקיות
- קבצים כל סוגי הקבצים, בלי קשר לבעלות על הקובץ.
- קיצורי דרך. נספר כפריט יחיד בתיקייה, גם אם הפריט שאליו הוא מצביע לא נמצא בתיקייה הזו. מידע נוסף זמין במאמר יצירת קיצור דרך לקובץ ב-Drive.
- קיצורי דרך של צד שלישי. נספר כפריט יחיד בתיקייה, גם אם הפריט שאליו הוא מצביע לא נמצא בתיקייה הזו. מידע נוסף זמין במאמר בנושא יצירת קובץ קיצור דרך לתוכן שאוחסן באפליקציה.
מידע נוסף על מגבלות תיקיות זמין במאמר מגבלות על תיקיות ב-Google Drive.
מגבלת העומק של תיקייה
בתיקיית'האחסון שלי' של משתמש יכולות להיות עד 100 רמות של תיקיות מקוננות. כלומר, אי אפשר לאחסן תיקיית צאצא בתיקייה שנמצאת ברמה עמוקה יותר מ-99 רמות. ההגבלה הזו חלה רק על תיקיות צאצא. מגבלה זו לא חלה על קובץ צאצא עם סוג MIME שונה מ-application/vnd.google-apps.folder
.
לדוגמה, בתרשים הבא, אפשר להטמיע תיקייה חדשה בתוך תיקייה מספר 99, אבל לא בתוך תיקייה מספר 100. עם זאת, בתיקייה מספר 100 אפשר לאחסן קבצים כמו בכל תיקייה אחרת ב-Drive:
ניסיונות להוסיף יותר מ-100 רמות של תיקיות מחזירים תגובה עם קוד סטטוס HTTP myDriveHierarchyDepthLimitExceeded
.