Class 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 Создает файл в корне Диска пользователя на основе заданного объекта Blob произвольных данных.
create File(name, content) File Создает текстовый файл в корне Диска пользователя с заданным именем и содержимым.
create File(name, content, mimeType) File Создает файл в корне Диска пользователя с заданным именем, содержимым и типом MIME.
create Folder(name) Folder Создает папку в корне Диска пользователя с заданным именем.
create Shortcut(targetId) File Создает ярлык для предоставленного идентификатора элемента Диска и возвращает его.
create Shortcut For Target Id And Resource Key(targetId, targetResourceKey) File Создает ярлык для предоставленного идентификатора элемента Диска и ключа ресурса и возвращает его.
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 Получает папку в корне Диска пользователя.
get Storage Limit() Integer Получает количество байтов, которые пользователю разрешено хранить на Диске.
get Storage Used() Integer Получает количество байтов, которые пользователь в настоящее время хранит на Диске.
get Trashed Files() File Iterator Получает коллекцию всех файлов в корзине Диска пользователя.
get Trashed Folders() Folder Iterator Получает коллекцию всех папок в корзине Диска пользователя.
search Files(params) File Iterator Получает коллекцию всех файлов на Диске пользователя, соответствующих заданным критериям поиска.
search Folders(params) Folder Iterator Получает коллекцию всех папок на Диске пользователя, соответствующих заданным критериям поиска.

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

continue File Iterator(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 Токен продолжения предыдущего итератора файла.

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

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


continue Folder Iterator(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 Токен продолжения предыдущего итератора папки.

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

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


create File(blob)

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

Параметры

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

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

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

Авторизация

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

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

create File(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

create File(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 Содержимое нового файла.
mime Type String MIME-тип нового файла.

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

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

Авторизация

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

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

create Folder(name)

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

Параметры

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

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

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

Авторизация

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

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

create Shortcut(targetId)

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

Параметры

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

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

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

Авторизация

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

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

create Shortcut For Target Id And Resource Key(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(),
  );
}

Параметры

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

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

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

Авторизация

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

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

enforce Single Parent(value)

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

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

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

Параметры

Имя Тип Описание
value Boolean Новое состояние флага EnforceSingleParent.

Авторизация

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

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

get File By Id(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

get File By Id And Resource Key(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

get Files()

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

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

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

Авторизация

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

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

get Files By Name(name)

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

Параметры

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

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

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

Авторизация

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

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

get Files By Type(mimeType)

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

Параметры

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

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

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

Авторизация

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

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

get Folder By Id(id)

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

Параметры

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

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

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

Авторизация

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

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

get Folder By Id And Resource Key(id, resourceKey)

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

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

Параметры

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

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

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

Авторизация

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

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

get Folders()

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

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

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

Авторизация

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

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

get Folders By Name(name)

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

Параметры

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

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

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

Авторизация

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

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

get Root Folder()

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

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

get Storage Limit()

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

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

get Storage Used()

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

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

get Trashed Files()

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

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

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

File Iterator — Коллекция файлов в корзине.

Авторизация

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

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

get Trashed Folders()

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

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

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

Folder Iterator — Коллекция папок в корзине.

Авторизация

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

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

search Files(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.""
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 .

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

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

Авторизация

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

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

search Folders(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.
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 .

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

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

Авторизация

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

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

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