Class DriveApp

אפליקצייתDrive

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

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

מאפיינים

נכססוגתיאור
AccessAccessenum שמייצג כיתות של משתמשים שיכולים לגשת לקובץ או לתיקייה, מלבד משתמשים ספציפיים שקיבלו גישה באופן מפורש.
PermissionPermissionenum שמייצג את ההרשאות שהוקצו למשתמשים שיש להם גישה לקובץ או לתיקייה, מלבד משתמשים ספציפיים שקיבלו גישה באופן מפורש.

Methods

שיטהסוג הערך המוחזרתיאור קצר
continueFileIterator(continuationToken)FileIteratorהמשך של חזרה על קובץ באמצעות אסימון המשך ממחזור קודם.
continueFolderIterator(continuationToken)FolderIteratorהמשך של איטרציה של תיקייה באמצעות אסימון המשך מאיטרטור קודם.
createFile(blob)Fileיצירת קובץ ברמה הבסיסית (root) של Drive של המשתמש מ-Blob נתונים שרירותיים.
createFile(name, content)Fileיצירת קובץ טקסט בספריית השורש של Drive של המשתמש עם השם והתוכן שצוינו.
createFile(name, content, mimeType)Fileיצירת קובץ ברמה הבסיסית (root) של Drive של המשתמש עם השם, התוכן וסוג ה-MIME שצוינו.
createFolder(name)Folderיצירת תיקייה ברמה הבסיסית של Drive של המשתמש עם השם שצוין.
createShortcut(targetId)Fileיצירת קיצור דרך למזהה הפריט ב-Drive שצוין והחזרתו.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)Fileיצירת קיצור דרך למזהה הפריט ולמפתח המשאב שצוינו ב-Drive והחזרתו.
enforceSingleParent(value)voidהפעלה או השבתה של ההתנהגות enforceSingleParent לכל הקריאות שמשפיעות על הורים של פריטים.
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הפונקציה מקבלת את התיקייה ברמה הבסיסית של 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)

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

פרמטרים

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

חזרה

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

אישור

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

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

createFile(name, content)

יצירת קובץ טקסט בספריית השורש של 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)

יצירת קובץ ברמה הבסיסית (root) של 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)

יצירת תיקייה ברמה הבסיסית של 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)

הפעלה או השבתה של ההתנהגות enforceSingleParent לכל הקריאות שמשפיעות על הורים של פריטים.

פרטים נוספים זמינים בבלוג Simplifying Google Drive’s folder structure and sharing models.

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

פרמטרים

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

אישור

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

  • 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()

הפונקציה מקבלת את התיקייה ברמה הבסיסית של 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, וששדות מסוימים של שאילתות שונים מגרסה 3. הבדלים בין השדות של גרסה 2 לגרסה 3

הארגומנט 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.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const 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, וששדות מסוימים של שאילתות שונים מגרסה 3. הבדלים בין השדות של גרסה 2 לגרסה 3

הארגומנט 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.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const 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

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