для управления файлами и папками, включая пользовательские свойства и версии.
Расширенная служба Google Drive позволяет использовать API Google Drive в Google Apps Script. Подобно встроенной службе Google Drive в Apps Script, этот API позволяет скриптам создавать, находить и изменять файлы и папки в Google Drive. В большинстве случаев встроенная служба проще в использовании, но эта расширенная служба предоставляет несколько дополнительных функций, включая доступ к пользовательским свойствам файлов, а также к версиям файлов и папок.
Это расширенная услуга, которую необходимо активировать перед использованием .
Ссылка
Подробную информацию об этом сервисе см. в справочной документации по API Google Drive. Как и все расширенные сервисы в Apps Script, расширенный сервис Google Drive использует те же объекты, методы и параметры, что и публичный API. Дополнительную информацию см. в разделе «Как определяются сигнатуры методов» . Кроме того, методы с именем delete в API Google Drive называются remove в расширенном сервисе (например, Drive.Permissions.remove() ), поскольку delete является зарезервированным словом в JavaScript.
Чтобы сообщить о проблемах и получить другую поддержку, см. руководство по поддержке Drive API .
Пример кода
В примерах кода в этом разделе используется версия 3 API.
Загрузка файлов
Приведённый ниже пример кода демонстрирует, как сохранить файл на Диск пользователя.
Создайте папку
Приведённый ниже пример кода демонстрирует, как создать папку в Google Диске.
/**
* Creates a new folder.
*/
function createFolder() {
var folderMetadata = {
'name': 'New Folder',
'mimeType': 'application/vnd.google-apps.folder'
};
var folder = Drive.Files.create(folderMetadata);
Logger.log('Folder ID: ' + folder.id);
}
Поиск файлов
Приведённый ниже пример кода демонстрирует поиск файлов с использованием поисковой строки.
/**
* Searches for files with a specific name.
*/
function searchFiles() {
var query = 'name contains "Project Plan" and trashed = false';
var files = Drive.Files.list({
'q': query,
'fields': 'files(id, name, mimeType)'
});
if (files.files && files.files.length > 0) {
for (var i = 0; i < files.files.length; i++) {
var file = files.files[i];
Logger.log('%s (ID: %s)', file.name, file.id);
}
} else {
Logger.log('No files found.');
}
}
Список папок
Приведённый ниже пример кода показывает, как вывести список папок верхнего уровня в Google Диске пользователя. Обратите внимание на использование токенов страниц для доступа к полному списку результатов.
Изменения в списке
Приведённый ниже пример кода показывает, как вывести список ревизий для заданного файла. Обратите внимание, что некоторые файлы могут иметь несколько ревизий, и для доступа к полному списку результатов следует использовать токены страниц.
Добавить свойства файла
В приведенном ниже примере кода используется поле appProperties для добавления пользовательского свойства в файл. Это пользовательское свойство видно только скрипту. Чтобы добавить в файл пользовательское свойство, видимое и другим приложениям, используйте вместо этого поле properties . Дополнительную информацию см. в разделе «Добавление пользовательских свойств файла» .
Добавить пользователя в файл
Приведенный ниже пример кода демонстрирует, как добавить пользователя в качестве редактора файла и отключить отправку уведомлений по электронной почте.
/**
* Adds a user to a file as an editor without sending an email notification.
*/
function addEditor() {
var fileId = '1234567890abcdefghijklmnopqrstuvwxyz';
var userEmail = 'bob@example.com';
var request = {
'role': 'writer',
'type': 'user',
'emailAddress': userEmail
};
Drive.Permissions.create(request, fileId, {
'sendNotificationEmail': false
});
}