Позволяет скриптам создавать, находить и изменять файлы и папки в 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