Class DriveApp

DriveApp

מאפשר לסקריפטים ליצור, למצוא ולשנות קבצים ותיקיות ב-Google Drive. למרות שקל יותר להשתמש בשירות 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());
}

מאפיינים

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

Methods

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

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

יוצר קובץ בשורש של 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

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