Class DriveApp

DriveApp

Позволяет сценариям создавать, находить и изменять файлы и папки на Google Диске. Для доступа к файлам и папкам на общих дисках используйте расширенный сервис Диска .

// 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());
}

Характеристики

Свойство Тип Описание
Access Access Перечисление, представляющее классы пользователей, которые могут получить доступ к файлу или папке, помимо отдельных пользователей, которым был явно предоставлен доступ.
Permission Permission Перечисление, представляющее разрешения, предоставленные пользователям, которые могут получить доступ к файлу или папке, помимо любых отдельных пользователей, которым был явно предоставлен доступ.

Методы

Метод Тип возврата Краткое описание
continueFileIterator(continuationToken) FileIterator Возобновляет итерацию файла, используя токен продолжения предыдущего итератора.
continueFolderIterator(continuationToken) FolderIterator Возобновляет итерацию папки, используя токен продолжения предыдущего итератора.
createFile(blob) File Создает файл в корне Диска пользователя на основе заданного Blob произвольных данных.
createFile(name, content) File Создает текстовый файл в корне Диска пользователя с заданным именем и содержимым.
createFile(name, content, mimeType) File Создает файл в корне Диска пользователя с заданным именем, содержимым и типом MIME.
createFolder(name) Folder Создает папку в корне Диска пользователя с заданным именем.
createShortcut(targetId) File Создает ярлык для предоставленного идентификатора элемента Диска и возвращает его.
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey) File Создает ярлык для предоставленного идентификатора элемента Диска и ключа ресурса и возвращает его.
enforceSingleParent(value) void Включает или отключает поведение EnforceSingleParent для всех вызовов, влияющих на родителей элементов.
getFileById(id) File Получает файл с заданным идентификатором.
getFileByIdAndResourceKey(id, resourceKey) File Получает файл с заданным идентификатором и ключом ресурса.
getFiles() FileIterator Получает коллекцию всех файлов на Диске пользователя.
getFilesByName(name) FileIterator Получает коллекцию всех файлов на Диске пользователя, имеющих заданное имя.
getFilesByType(mimeType) FileIterator Получает коллекцию всех файлов на Диске пользователя, имеющих заданный тип MIME.
getFolderById(id) Folder Получает папку с заданным идентификатором.
getFolderByIdAndResourceKey(id, resourceKey) Folder Получает папку с заданным идентификатором и ключом ресурса.
getFolders() FolderIterator Получает коллекцию всех папок на Диске пользователя.
getFoldersByName(name) FolderIterator Получает коллекцию всех папок на Диске пользователя, имеющих заданное имя.
getRootFolder() Folder Получает папку в корне Диска пользователя.
getStorageLimit() Integer Получает количество байтов, которые пользователю разрешено хранить на Диске.
getStorageUsed() Integer Получает количество байтов, которые пользователь в настоящее время хранит на Диске.
getTrashedFiles() FileIterator Получает коллекцию всех файлов в корзине Диска пользователя.
getTrashedFolders() FolderIterator Получает коллекцию всех папок в корзине Диска пользователя.
searchFiles(params) FileIterator Получает коллекцию всех файлов на Диске пользователя, соответствующих заданным критериям поиска.
searchFolders(params) FolderIterator Получает коллекцию всех папок на Диске пользователя, соответствующих заданным критериям поиска.

Подробная документация

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());
}

Параметры

Имя Тип Описание
continuationToken String Токен продолжения предыдущего итератора файла.

Возвращаться

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());
}

Параметры

Имя Тип Описание
continuationToken String Токен продолжения предыдущего итератора папки.

Возвращаться

FolderIterator — коллекция папок, которые остались в предыдущем итераторе при создании токена продолжения.


createFile(blob)

Создает файл в корне Диска пользователя на основе заданного 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);

Параметры

Имя Тип Описание
blob BlobSource Данные для нового файла.

Возвращаться

File — новый файл.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

createFile(name, content)

Создает текстовый файл в корне Диска пользователя с заданным именем и содержимым. Выдает исключение, если content превышает 50 МБ.

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

Параметры

Имя Тип Описание
name String Имя нового файла.
content String Содержимое нового файла.

Возвращаться

File — новый файл.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

createFile(name, content, mimeType)

Создает файл в корне Диска пользователя с заданным именем, содержимым и типом MIME. Выдает исключение, если content превышает 10 МБ.

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

Параметры

Имя Тип Описание
name String Имя нового файла.
content String Содержимое нового файла.
mimeType String MIME-тип нового файла.

Возвращаться

File — новый файл.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

createFolder(name)

Создает папку в корне Диска пользователя с заданным именем.

Параметры

Имя Тип Описание
name String Имя новой папки.

Возвращаться

Folder — новая папка.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

createShortcut(targetId)

Создает ярлык для предоставленного идентификатора элемента Диска и возвращает его.

Параметры

Имя Тип Описание
targetId String Идентификатор целевого файла или папки.

Возвращаться

File — новый ярлык.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

Создает ярлык для предоставленного идентификатора элемента Диска и ключа ресурса и возвращает его. Ключ ресурса — это дополнительный параметр, который необходимо передать для доступа к целевому файлу или папке, к которым был предоставлен общий доступ по ссылке.

// 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());
}

Параметры

Имя Тип Описание
targetId String Идентификатор целевого файла или папки.
targetResourceKey String Ключ ресурса целевого файла или папки.

Возвращаться

File — новый ярлык.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

enforceSingleParent(value)

Включает или отключает поведение EnforceSingleParent для всех вызовов, влияющих на родителей элементов.

Дополнительные сведения см. в блоге «Упрощение структуры папок Google Диска и моделей совместного использования» .

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

Параметры

Имя Тип Описание
value Boolean Новое состояние флага 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());
}

Параметры

Имя Тип Описание
id String Идентификатор файла.

Возвращаться

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());
}

Параметры

Имя Тип Описание
id String Идентификатор файла.
resourceKey String Ключ ресурса папки.

Возвращаться

File — файл с заданным идентификатором.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFiles()

Получает коллекцию всех файлов на Диске пользователя.

Возвращаться

FileIterator — коллекция всех файлов на Диске пользователя.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFilesByName(name)

Получает коллекцию всех файлов на Диске пользователя, имеющих заданное имя.

Параметры

Имя Тип Описание
name String Имя файлов, которые нужно найти.

Возвращаться

FileIterator — коллекция всех файлов на Диске пользователя, имеющих заданное имя.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFilesByType(mimeType)

Получает коллекцию всех файлов на Диске пользователя, имеющих заданный тип MIME.

Параметры

Имя Тип Описание
mimeType String MIME-тип искомых файлов.

Возвращаться

FileIterator — коллекция всех файлов на Диске пользователя, имеющих заданный тип MIME.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFolderById(id)

Получает папку с заданным идентификатором. Выдает исключение сценария, если папка не существует или у пользователя нет разрешения на доступ к ней.

Параметры

Имя Тип Описание
id String Идентификатор папки.

Возвращаться

Folder — папка с заданным идентификатором.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFolderByIdAndResourceKey(id, resourceKey)

Получает папку с заданным идентификатором и ключом ресурса. Ключи ресурсов — это дополнительный параметр, который необходимо передать для доступа к папкам, к которым предоставлен общий доступ по ссылке.

Выдает исключение сценария, если папка не существует или у пользователя нет разрешения на доступ к ней.

Параметры

Имя Тип Описание
id String Идентификатор папки.
resourceKey String Ключ ресурса папки.

Возвращаться

Folder — папка с заданным идентификатором.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFolders()

Получает коллекцию всех папок на Диске пользователя.

Возвращаться

FolderIterator — коллекция всех папок на Диске пользователя.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getFoldersByName(name)

Получает коллекцию всех папок на Диске пользователя, имеющих заданное имя.

Параметры

Имя Тип Описание
name String Имя папок, которые необходимо найти.

Возвращаться

FolderIterator — коллекция всех папок на Диске пользователя, имеющих заданное имя.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getRootFolder()

Получает папку в корне Диска пользователя.

// 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 — корневая папка Диска пользователя.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getStorageLimit()

Получает количество байтов, которые пользователю разрешено хранить на Диске.

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

Возвращаться

Integer — количество байтов, которое пользователю разрешено хранить на Диске.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getStorageUsed()

Получает количество байтов, которые пользователь в настоящее время хранит на Диске.

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

Возвращаться

Integer — количество байтов, которые пользователь в настоящее время хранит на Диске.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

getTrashedFiles()

Получает коллекцию всех файлов в корзине Диска пользователя.

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

Получает коллекцию всех папок в корзине Диска пользователя.

// 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)

Получает коллекцию всех файлов на Диске пользователя, соответствующих заданным критериям поиска. Критерии поиска подробно описаны в документации Google Drive SDK . Обратите внимание, что служба Drive использует версию 2 Drive API, а некоторые поля запросов отличаются от версии 3. Просмотрите различия в полях между 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());
}

Параметры

Имя Тип Описание
params String Критерии поиска, подробно описанные в документации Google Drive SDK .

Возвращаться

FileIterator — коллекция всех файлов на Диске пользователя, соответствующих критериям поиска.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

searchFolders(params)

Получает коллекцию всех папок на Диске пользователя, соответствующих заданным критериям поиска. Критерии поиска подробно описаны в документации Google Drive SDK . Обратите внимание, что служба Drive использует версию 2 Drive API, а некоторые поля запросов отличаются от версии 3. Просмотрите различия в полях между 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());
}

Параметры

Имя Тип Описание
params String Критерии поиска, подробно описанные в документации Google Drive SDK .

Возвращаться

FolderIterator — коллекция всех папок на Диске пользователя, соответствующих критериям поиска.

Авторизация

Скрипты, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

Устаревшие методы