Class DriveApp

DriveApp

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

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

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

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

Методы

Метод Тип возвращаемого значения Краткое описание
continue File Iterator(continuationToken) File Iterator Возобновляет итерацию по файлу, используя токен продолжения из предыдущего итератора.
continue Folder Iterator(continuationToken) Folder Iterator Возобновляет итерацию по папке, используя токен продолжения из предыдущего итератора.
create File(blob) File Создает файл в корневом каталоге Google Диска пользователя из заданного Blob с произвольными данными.
create File(name, content) File Создает текстовый файл в корневом каталоге Google Диска пользователя с заданным именем и содержимым.
create File(name, content, mimeType) File Создает файл в корневом каталоге Диска пользователя с заданным именем, содержимым и MIME-типом.
create Folder(name) Folder Создает папку в корневом каталоге Google Диска пользователя с заданным именем.
create Shortcut(targetId) File Создает ярлык для указанного идентификатора элемента Google Диска и возвращает его.
create Shortcut For Target Id And Resource Key(targetId, targetResourceKey) File Создает ярлык для указанного идентификатора элемента Google Диска и ключа ресурса и возвращает его.
enforce Single Parent(value) void Включает или отключает поведение enforceSingleParent для всех вызовов, затрагивающих родительские элементы.
get File By Id(id) File Получает файл с заданным идентификатором.
get File By Id And Resource Key(id, resourceKey) File Получает файл с заданным идентификатором и ключом ресурса.
get Files() File Iterator Получает коллекцию всех файлов на Диске пользователя.
get Files By Name(name) File Iterator Получает коллекцию всех файлов на Диске пользователя, имеющих заданное имя.
get Files By Type(mimeType) File Iterator Получает коллекцию всех файлов на Диске пользователя, имеющих заданный MIME-тип.
get Folder By Id(id) Folder Получает папку с заданным идентификатором.
get Folder By Id And Resource Key(id, resourceKey) Folder Получает папку с заданным идентификатором и ключом ресурса.
get Folders() Folder Iterator Получает коллекцию всех папок на Диске пользователя.
get Folders By Name(name) Folder Iterator Получает коллекцию всех папок на Диске пользователя, имеющих заданное имя.
get Root Folder() Folder Получает папку в корневом каталоге Google Диска пользователя.
get Storage Limit() Integer Получает количество байтов, которое пользователю разрешено хранить в Google Диске.
get Storage Used() Integer Получает количество байтов, которые пользователь в данный момент хранит в Google Диске.
get Trashed Files() File Iterator Получает список всех файлов в корзине пользовательского диска.
get Trashed Folders() Folder Iterator Получает список всех папок в корзине на Диске пользователя.
search Files(params) File Iterator Получает коллекцию всех файлов на Диске пользователя, соответствующих заданным критериям поиска.
search Folders(params) Folder Iterator Получает коллекцию всех папок на Диске пользователя, соответствующих заданным критериям поиска.

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

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

Параметры

Имя Тип Описание
continuation Token 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());
}

Параметры

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

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

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


createFile(blob)

Создает файл в корневом каталоге Google Диска пользователя из заданного Blob с произвольными данными.

Параметры

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

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

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

Авторизация

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

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

createFile(name, content)

Создает текстовый файл в корневом каталоге Google Диска пользователя с заданным именем и содержимым. Генерирует исключение, если 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)

Создает файл в корневом каталоге Google Диска пользователя с заданным именем, содержимым и 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 Содержимое нового файла.
mime Type String MIME-тип нового файла.

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

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

Авторизация

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

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

createFolder(name)

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

Параметры

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

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

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

Авторизация

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

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

createShortcut(targetId)

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

Параметры

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

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

File — новая комбинация клавиш.

Авторизация

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

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

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

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

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

Параметры

Имя Тип Описание
target Id String Идентификатор целевого файла или папки.
target Resource Key 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 Идентификатор файла.
resource Key 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-тип.

Параметры

Имя Тип Описание
mime Type String MIME-тип файлов для поиска.

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

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

Авторизация

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

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

getFolderById(id)

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

Параметры

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

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

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

Авторизация

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

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

getFolderByIdAndResourceKey(id, resourceKey)

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

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

Параметры

Имя Тип Описание
id String Идентификатор папки.
resource Key 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()

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

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

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

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

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

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

Параметры

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

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

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

Авторизация

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

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

searchFolders(params)

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

Параметры

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

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

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

Авторизация

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

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

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