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יוצר קובץ ברמה הבסיסית (root) ב-Drive של המשתמש מ-Blob נתון של נתונים שרירותיים.
createFile(name, content)Fileיוצר קובץ טקסט ברמה הבסיסית (root) של Drive של המשתמש עם השם והתוכן הרשומים.
createFile(name, content, mimeType)Fileיצירת קובץ ברמה הבסיסית (root) ב-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)

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

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

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

מקבל את התיקייה ברמה הבסיסית (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. בודקים את השדה ההבדלים בין גרסה 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.""
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. בודקים את השדה ההבדלים בין גרסה 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.
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

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