Позволяет сценариям создавать, находить и изменять файлы и папки на 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 | Перечисление, представляющее разрешения, предоставленные пользователям, которые могут получить доступ к файлу или папке, помимо любых отдельных пользователей, которым был явно предоставлен доступ. |
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
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
произвольных данных.
Параметры
Имя | Тип | Описание |
---|---|---|
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."" 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 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 . |
Возвращаться
FolderIterator
— коллекция всех папок на Диске пользователя, соответствующих критериям поиска.
Авторизация
Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive