В этом руководстве объясняется, как создавать и управлять файлами на Google Диске с помощью API Google Диска.
Создать файл
Чтобы создать на Диске файл, не содержащий метаданных или контента, используйте метод create
для ресурса files
без параметров.
При создании файла метод возвращает ресурс files
. Файлу присваиваются kind
drive.file
, идентификатор id
, name
«Untitled» и тип mimeType
application/octet-stream
. Параметр uploadType
помечен как обязательный, но по умолчанию равен media
, поэтому его указывать не нужно.
Дополнительную информацию об ограничениях на файлы на Диске см. в разделе Ограничения на файлы и папки .
Используйте параметр fields
Если вы хотите указать поля, возвращаемые в ответе, вы можете задать системный параметр fields
с помощью любого метода ресурса files
. Если параметр fields
опущен, сервер вернет набор полей по умолчанию, специфичный для данного метода. Например, метод list
возвращает только поля kind
, id
, name
, mimeType
и resourceKey
для каждого файла. Чтобы вернуть различные поля, см. раздел Возврат определённых полей .
Сгенерируйте идентификаторы для использования с вашими файлами
Метод generateIds
ресурса files
позволяет заранее сгенерировать уникальные идентификаторы файлов, которые можно использовать при создании или копировании файлов и папок на Диске. Это может быть полезно, когда вам нужно управлять идентификаторами файлов из приложения, а не позволять Диску назначать их автоматически.
Вы можете задать количество генерируемых идентификаторов с помощью параметра запроса count
. Если count
не задано, по умолчанию возвращается 10. Максимальное количество запрашиваемых идентификаторов ограничено 1000.
Вы также можете указать space
, в котором можно использовать идентификаторы, и type
предметов, для которых можно использовать идентификаторы.
После генерации идентификатора его можно передать методу create
или copy
через поле id
. Это гарантирует, что созданный или скопированный файл будет использовать предопределённый идентификатор.
Если файл успешно создан или скопирован, последующие попытки возвращают код статуса HTTP 409 Conflict
, и дубликаты файлов не создаются.
Обратите внимание, что предварительно сгенерированные идентификаторы не поддерживаются при создании файлов Google Workspace, за исключением MIME-типов application/vnd.google-apps.drive-sdk
и application/vnd.google-apps.folder
. Аналогично, загрузки, ссылающиеся на преобразование в формат файлов Google Workspace, не поддерживаются.
Создавать файлы, содержащие только метаданные
Файлы, содержащие только метаданные, не содержат контента. Метаданные — это данные (например, name
, mimeType
и createdTime
), описывающие файл. Поля, такие как name
, не зависят от пользователя и отображаются одинаково для каждого пользователя, тогда как поля, такие как viewedByMeTime
содержат значения, специфичные для пользователя.
Примером файла, содержащего только метаданные, является папка с MIME-типом application/vnd.google-apps.folder
. Подробнее см. в разделе Создание и заполнение папок . Другой пример — ярлык, указывающий на другой файл на Диске с MIME-типом application/vnd.google-apps.shortcut
. Подробнее см. в разделе Создание ярлыка для файла на Диске .
Управление миниатюрами изображений
Миниатюры помогают пользователям идентифицировать файлы на Диске. Диск может автоматически создавать миниатюры для распространённых типов файлов, или вы можете предоставить изображение миниатюры, созданное вашим приложением. Подробнее см. в разделе Загрузка миниатюр .
Копировать существующий файл
Чтобы скопировать файл и применить запрошенные обновления, используйте метод copy
ресурса files
. Чтобы найти идентификатор fileId
для копирования, используйте метод list
.
Вы можете применять обновления через семантику патчей, то есть вносить частичные изменения в ресурс. Необходимо явно указать поля, которые вы хотите изменить, в запросе. Все поля, не включённые в запрос, сохраняют свои текущие значения. Подробнее см. в разделе Работа с частичными ресурсами .
Вы можете предварительно задать идентификатор скопированного файла с помощью метода generateIds
. Подробнее см. в разделе Генерация идентификаторов для использования с файлами .
Обратите внимание, что для авторизации вызова необходимо использовать соответствующую область действия API Диска . Подробнее об областях действия Диска см. в статье Выбор областей действия API Google Диска .
Ограничения и соображения
Готовясь к копированию файлов, обратите внимание на следующие ограничения и соображения:
Разрешения :
- Объект
DownloadRestrictionsMetadata
ресурсаfiles
определяет, кто может копировать файл. Подробнее см. в статье «Запретить пользователям загружать, печатать или копировать ваш файл» . - Ресурс поля
capabilities.canCopy
определяет, может ли пользователь копировать файл. Подробнее см. в разделе «Общие сведения о возможностях файлов» . - Владельцем скопированного файла является пользователь, создавший копию. Никакие другие настройки общего доступа из исходного файла не копируются. Если копия создана в общей папке, она наследует разрешения этой папки.
- Владелец скопированного файла может измениться, и копия может не унаследовать настройки общего доступа исходного файла. Возможно, эти настройки потребуется сбросить.
- Объект
Управление файлами :
- Некоторые файлы, такие как сторонние ярлыки , невозможно скопировать.
- Копировать файл можно только в одну родительскую папку. Указание нескольких родительских папок не поддерживается. Если поле
parents
не указано, файл наследует все обнаруживаемые родительские папки исходного файла. - Несмотря на то, что папка — это тип файла, её нельзя скопировать. Вместо этого создайте папку назначения и укажите её в поле
parents
существующих файлов. После этого исходную папку можно удалить. - Если не указано новое имя файла, метод
copy
создает файл с тем же именем, что и у оригинала. - Чрезмерное использование
copy
может привести к превышению квоты Drive API. Подробнее см. в разделе «Ограничения использования» .
Похожие темы
Вот несколько следующих шагов, которые вы можете попробовать:
Чтобы загрузить данные файла при его создании или обновлении, см. раздел Загрузка данных файла .
Чтобы создать файл в определенной папке, см. раздел Создание файла в определенной папке .
Чтобы переместить файлы, см. раздел Перемещение файлов между папками .
Информацию о работе с метаданными файлов см. в разделе Управление метаданными файлов .
Чтобы удалить файл, см. раздел Корзина или удаление файлов и папок .