Class DriveApp

DriveApp

מאפשר לסקריפטים ליצור, למצוא ולשנות קבצים ותיקיות ב-Google Drive. כדי לגשת לקבצים או לתיקיות בתיקיות אחסון שיתופי, צריך להשתמש בשירות המתקדם של Drive.

// Logs the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

תכונות

נכסתיאורהתיאור
AccessAccessטיפוסים בני מנייה (enum) שמייצג מחלקות של משתמשים שיכולים לגשת לקובץ או לתיקייה, בנוסף למשתמשים שקיבלו גישה מפורשת.
PermissionPermissionטיפוסים בני מנייה (enum) שמייצג את ההרשאות שהוענקו למשתמשים שיכולים לגשת לקובץ או לתיקייה, מלבד משתמשים ספציפיים שקיבלו גישה מפורשת.

שיטות

שיטהסוג הערך שמוחזרתיאור קצר
continueFileIterator(continuationToken)FileIteratorהמשך איטרציה של קובץ באמצעות אסימון המשך מגרסה קודמת.
continueFolderIterator(continuationToken)FolderIteratorהמשך איטרציה של תיקייה באמצעות אסימון המשך ממופע קודם.
createFile(blob)Fileיוצר קובץ בתיקיית השורש של ה-Drive של המשתמש מתוך Blob של נתונים שרירותיים.
createFile(name, content)Fileיצירת קובץ טקסט ברמה הבסיסית (root) של Drive של המשתמש עם השם והתוכן שצוינו.
createFile(name, content, mimeType)Fileיוצר קובץ בשורש ה-Drive של המשתמש עם השם, התוכן וסוג ה-MIME שצוינו.
createFolder(name)Folderיוצרת תיקייה ברמה הבסיסית (root) של Drive של המשתמש בשם הנתון.
createShortcut(targetId)Fileיוצר קיצור דרך למזהה הפריט שצוין ב-Drive ומחזיר אותו.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)Fileיוצר קיצור דרך למזהה הפריט ב-Drive ולמפתח המשאב שסופקו, ומחזיר אותם.
enforceSingleParent(value)voidהמדיניות הזו מפעילה או משביתה את ההתנהגות 'אכיפה יחידה של הורה' בכל הקריאות שמשפיעות על הורה של פריטים.
getFileById(id)Fileהפונקציה מקבלת את הקובץ עם המזהה הנתון.
getFileByIdAndResourceKey(id, resourceKey)Fileהפונקציה מקבלת את הקובץ עם המזהה ומפתח המשאב הנתונים.
getFiles()FileIteratorמקבלת אוסף של כל הקבצים ב-Drive של המשתמש.
getFilesByName(name)FileIteratorהפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש בעלי השם הנתון.
getFilesByType(mimeType)FileIteratorהפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש מסוג MIME שצוין.
getFolderById(id)Folderהפונקציה מקבלת את התיקייה עם המזהה הנתון.
getFolderByIdAndResourceKey(id, resourceKey)Folderהפונקציה מקבלת את התיקייה עם המזהה ומפתח המשאב שצוינו.
getFolders()FolderIteratorמקבלת אוסף של כל התיקיות ב-Drive של המשתמש.
getFoldersByName(name)FolderIteratorהפונקציה מקבלת אוסף של כל התיקיות ב-Drive של המשתמש שיש להן את השם הנתון.
getRootFolder()Folderמעביר את התיקייה לרמה הבסיסית (root) של Drive של המשתמש.
getStorageLimit()Integerהפונקציה מקבלת את מספר הבייטים שהמשתמש מורשה לאחסן ב-Drive.
getStorageUsed()Integerהפונקציה מקבלת את מספר הבייטים שהמשתמש מאחסן כרגע ב-Drive.
getTrashedFiles()FileIteratorמקבל אוסף של כל הקבצים שנמצאים באשפה ב-Drive של המשתמש.
getTrashedFolders()FolderIteratorמקבלת אוסף של כל התיקיות באשפה ב-Drive של המשתמש.
searchFiles(params)FileIteratorהפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש שתואמים לקריטריוני החיפוש הנתונים.
searchFolders(params)FolderIteratorהפונקציה מקבלת אוסף של כל התיקיות ב-Drive של המשתמש שתואמות לקריטריוני החיפוש הנתונים.

תיעוד מפורט

continueFileIterator(continuationToken)

המשך איטרציה של קובץ באמצעות אסימון המשך מגרסה קודמת. השיטה הזו שימושית אם העיבוד של איטרטור בהפעלה אחת חורג מזמן הביצוע המקסימלי. אסימוני המשך תקפים בדרך כלל למשך שבוע אחד.

// Continues getting a list of all 'Untitled document' files in the user's Drive.
// Creates a file iterator named 'previousIterator'.
const previousIterator = DriveApp.getFilesByName('Untitled document');

// Gets continuation token from the previous file iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous file iterator.
const newIterator = DriveApp.continueFileIterator(continuationToken);

// Resumes the file iteration using a continuation token from 'firstIterator' and
// logs the file name.
if (newIterator.hasNext()) {
  const file = newIterator.next();
  console.log(file.getName());
}

פרמטרים

שםתיאורהתיאור
continuationTokenStringאסימון המשך מאיטרטור קובץ קודם.

החזרות

FileIterator – אוסף של קבצים שנשארו באיטרטור קודם כשנוצר אסימון ההמשך.


continueFolderIterator(continuationToken)

המשך איטרציה של תיקייה באמצעות אסימון המשך ממופע קודם. השיטה הזו שימושית אם העיבוד של איטרטור בהפעלה אחת חורג מזמן הביצוע המקסימלי. אסימוני המשך תקפים בדרך כלל למשך שבוע אחד.

// Continues getting a list of all folders in user's Drive.
// Creates a folder iterator named 'previousIterator'.
const previousIterator = DriveApp.getFolders();

// Gets continuation token from the previous folder iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous folder iterator.
const newIterator = DriveApp.continueFolderIterator(continuationToken);

// Resumes the folder iteration using a continuation token from the previous iterator and logs
// the folder name.
if (newIterator.hasNext()) {
  const folder = newIterator.next();
  console.log(folder.getName());
}

פרמטרים

שםתיאורהתיאור
continuationTokenStringאסימון המשך מאיטרטור של תיקייה קודמת.

החזרות

FolderIterator – אוסף של תיקיות שנשארו באיטרטור קודם כשנוצר אסימון ההמשך.


createFile(blob)

יוצר קובץ בתיקיית השורש של ה-Drive של המשתמש מתוך Blob של נתונים שרירותיים.

// Create an image file in Google Drive using the Maps service.
var blob = Maps.newStaticMap().setCenter('76 9th Avenue, New York NY').getBlob();
DriveApp.createFile(blob);

פרמטרים

שםתיאורהתיאור
blobBlobSourceהנתונים עבור הקובץ החדש.

החזרות

File - הקובץ החדש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

createFile(name, content)

יצירת קובץ טקסט ברמה הבסיסית (root) של Drive של המשתמש עם השם והתוכן שצוינו. יוצרת החרגה אם הקובץ content גדול מ-50MB.

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

פרמטרים

שםתיאורהתיאור
nameStringשם הקובץ החדש.
contentStringהתוכן של הקובץ החדש.

החזרות

File - הקובץ החדש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

יוצר קובץ בשורש ה-Drive של המשתמש עם השם, התוכן וסוג ה-MIME שצוינו. המערכת מוסיפה החרגה אם הקובץ content גדול מ-10MB.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

פרמטרים

שםתיאורהתיאור
nameStringשם הקובץ החדש.
contentStringהתוכן של הקובץ החדש.
mimeTypeStringסוג MIME של הקובץ החדש.

החזרות

File - הקובץ החדש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

createFolder(name)

יוצרת תיקייה ברמה הבסיסית (root) של Drive של המשתמש בשם הנתון.

פרמטרים

שםתיאורהתיאור
nameStringשם התיקייה החדשה.

החזרות

Folder - התיקייה החדשה.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

יוצר קיצור דרך למזהה הפריט שצוין ב-Drive ומחזיר אותו.

פרמטרים

שםתיאורהתיאור
targetIdStringמזהה הקובץ או תיקיית היעד.

החזרות

File – קיצור הדרך החדש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

יוצר קיצור דרך למזהה הפריט ב-Drive ולמפתח המשאב שסופקו, ומחזיר אותם. מפתח משאב הוא פרמטר נוסף שצריך להעביר כדי לגשת לקובץ או לתיקייה של היעד ששותפו באמצעות קישור.

// Creates shortcuts for all folders in the user's drive that have a specific name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(folder.getId(), folder.getResourceKey());
}

פרמטרים

שםתיאורהתיאור
targetIdStringהמזהה של קובץ היעד או של תיקיית היעד.
targetResourceKeyStringמפתח המשאב של קובץ היעד או תיקיית היעד.

החזרות

File – קיצור הדרך החדש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

enforceSingleParent(value)

המדיניות הזו מפעילה או משביתה את ההתנהגות 'אכיפה יחידה של הורה' בכל הקריאות שמשפיעות על הורה של פריטים.

פרטים נוספים זמינים בבלוג פישוט מבנה התיקיות ב-Google Drive ומודלים לשיתוף.

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

פרמטרים

שםתיאורהתיאור
valueBooleanהמצב החדש של דגל forceSingleParent.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive

getFileById(id)

הפונקציה מקבלת את הקובץ עם המזהה הנתון. במקרה של סקריפטים מוחרגים, הקובץ לא קיים או שלמשתמש אין הרשאה לגשת אליו.

// Gets a list of all files in Google Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');

if (files.hasNext()) {
  // Gets the ID of each file in the list.
  const fileId = files.next().getId();

  // Gets the file name using its ID and logs it to the console.
  console.log(DriveApp.getFileById(fileId).getName());
}

פרמטרים

שםתיאורהתיאור
idStringמזהה הקובץ.

החזרות

File - הקובץ עם המזהה הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFileByIdAndResourceKey(id, resourceKey)

הפונקציה מקבלת את הקובץ עם המזהה ומפתח המשאב הנתונים. מפתחות משאבים הם פרמטר נוסף שצריך להעביר כדי לגשת לקבצים ששותפו באמצעות קישור.

במקרה של סקריפטים מוחרגים, הקובץ לא קיים או שלמשתמש אין הרשאה לגשת אליו.

// Gets a list of all files in Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');
if (files.hasNext()) {

  // Gets the first file in the list.
  const file = files.next();

  // Gets the ID and resource key.
  const key = file.getResourceKey();
  const id = file.getId();

  // Logs the file name to the console using its ID and resource key.
  console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName());
}

פרמטרים

שםתיאורהתיאור
idStringמזהה הקובץ.
resourceKeyStringקוד המשאב של התיקייה.

החזרות

File - הקובץ עם המזהה הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

מקבלת אוסף של כל הקבצים ב-Drive של המשתמש.

החזרות

FileIterator - אוסף של כל הקבצים ב-Drive של המשתמש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

הפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש בעלי השם הנתון.

פרמטרים

שםתיאורהתיאור
nameStringשמות הקבצים שיש למצוא.

החזרות

FileIterator - אוסף של כל הקבצים ב-Drive של המשתמש שיש להם את השם הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

הפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש מסוג MIME שצוין.

פרמטרים

שםתיאורהתיאור
mimeTypeStringסוג ה-MIME של הקבצים שיש לאתר.

החזרות

FileIterator - אוסף של כל הקבצים ב-Drive של המשתמש מסוג MIME הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderById(id)

הפונקציה מקבלת את התיקייה עם המזהה הנתון. במקרה שהתיקייה לא קיימת או שלמשתמש אין הרשאה לגשת אליה, תיווצר חריגת סקריפט.

פרמטרים

שםתיאורהתיאור
idStringהמזהה של התיקייה.

החזרות

Folder - התיקייה עם המזהה הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderByIdAndResourceKey(id, resourceKey)

הפונקציה מקבלת את התיקייה עם המזהה ומפתח המשאב שצוינו. מפתחות משאבים הם פרמטר נוסף שצריך להעביר כדי לגשת לתיקיות ששותפו באמצעות קישור.

במקרה של סקריפטים מוחרגים, התיקייה לא קיימת או שלמשתמש אין הרשאה לגשת אליה.

פרמטרים

שםתיאורהתיאור
idStringהמזהה של התיקייה.
resourceKeyStringקוד המשאב של התיקייה.

החזרות

Folder - התיקייה עם המזהה הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

מקבלת אוסף של כל התיקיות ב-Drive של המשתמש.

החזרות

FolderIterator - אוסף של כל התיקיות ב-Drive של המשתמש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

הפונקציה מקבלת אוסף של כל התיקיות ב-Drive של המשתמש שיש להן את השם הנתון.

פרמטרים

שםתיאורהתיאור
nameStringשמות התיקיות שיש לחפש.

החזרות

FolderIterator - אוסף של כל התיקיות ב-Drive של המשתמש שיש להן את השם הנתון.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getRootFolder()

מעביר את התיקייה לרמה הבסיסית (root) של Drive של המשתמש.

// Gets the user's My Drive folder and logs its name to the console.
console.log(DriveApp.getRootFolder().getName());

// Logs the Drive owner's name to the console.
console.log(DriveApp.getRootFolder().getOwner().getName());

החזרות

Folder - תיקיית הבסיס ב-Drive של המשתמש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageLimit()

הפונקציה מקבלת את מספר הבייטים שהמשתמש מורשה לאחסן ב-Drive.

// Gets the number of bytes the user can store in Drive and logs it to the console.
console.log(DriveApp.getStorageLimit());

החזרות

Integer – מספר הבייטים שהמשתמש מורשה לאחסן ב-Drive.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageUsed()

הפונקציה מקבלת את מספר הבייטים שהמשתמש מאחסן כרגע ב-Drive.

// Gets the number of bytes the user is currently storing in Drive and logs it to the console.
console.log(DriveApp.getStorageUsed());

החזרות

Integer - מספר הבייטים שהמשתמש מאחסן כרגע ב-Drive.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFiles()

מקבל אוסף של כל הקבצים שנמצאים באשפה ב-Drive של המשתמש.

// Gets a list of all the files in the trash of the user's Drive.
const trashFiles = DriveApp.getTrashedFiles();

// Logs the trash file names to the console.
while (trashFiles.hasNext()) {
  const file = trashFiles.next();
  console.log(file.getName());
}

החזרות

FileIterator - אוסף של קבצים באשפה.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFolders()

מקבלת אוסף של כל התיקיות באשפה ב-Drive של המשתמש.

// Gets a collection of all the folders in the trash of the user's Drive.
const trashFolders = DriveApp.getTrashedFolders();

// Logs the trash folder names to the console.
while (trashFolders.hasNext()) {
  const folder = trashFolders.next();
  console.log(folder.getName());
}

החזרות

FolderIterator - אוסף של תיקיות באשפה.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFiles(params)

הפונקציה מקבלת אוסף של כל הקבצים ב-Drive של המשתמש שתואמים לקריטריוני החיפוש הנתונים. הקריטריונים לחיפוש מפורטים בתיעוד של Google Drive SDK. שימו לב ששירות Drive משתמש בגרסה 2 של Drive API, וחלק משדות השאילתה שונים מ-v3. בודקים את ההבדלים בשדות בין v2 ל-v3.

הארגומנט params הוא מחרוזת של שאילתה שיכולה להכיל ערכי מחרוזת, ולכן חשוב לסמן בתו מירכאות תקינה (לדוגמה "title contains 'Gulliver\\'s Travels'" או 'title contains "Gulliver\'s Travels"').

// Logs the name of every file in the user's Drive that modified after February 28,
// 2022 whose name contains "untitled.""
var files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

פרמטרים

שםתיאורהתיאור
paramsStringהקריטריונים לחיפוש, כפי שמפורט בתיעוד של Google Drive SDK.

החזרות

FileIterator - אוסף של כל הקבצים ב-Drive של המשתמש שתואמים לקריטריונים של החיפוש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

הפונקציה מקבלת אוסף של כל התיקיות ב-Drive של המשתמש שתואמות לקריטריוני החיפוש הנתונים. הקריטריונים לחיפוש מפורטים בתיעוד של Google Drive SDK. שימו לב ששירות Drive משתמש בגרסה 2 של Drive API, וחלק משדות השאילתה שונים מ-v3. בודקים את ההבדלים בשדות בין v2 ל-v3.

הארגומנט params הוא מחרוזת של שאילתה שיכולה להכיל ערכי מחרוזת, ולכן חשוב לסמן בתו מירכאות תקינה (לדוגמה "title contains 'Gulliver\\'s Travels'" או 'title contains "Gulliver\'s Travels"').

// Logs the name of every folder in the user's Drive that you own and is starred.
var folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  var folder = folders.next();
  console.log(folder.getName());
}

פרמטרים

שםתיאורהתיאור
paramsStringהקריטריונים לחיפוש, כפי שמפורט בתיעוד של Google Drive SDK.

החזרות

FolderIterator - אוסף של כל התיקיות ב-Drive של המשתמש שתואמות לקריטריונים של החיפוש.

הרשאות

לסקריפטים שמשתמשים בשיטה הזו נדרשת הרשאה באחד או יותר מההיקפים הבאים:

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

שיטות שהוצאו משימוש