Создание файлов и управление ими

В этом руководстве объясняется, как создавать и управлять файлами на 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 Диска .

Ограничения и соображения

Готовясь к копированию файлов, обратите внимание на следующие ограничения и соображения:

  • Разрешения :

  • Управление файлами :

    • Некоторые файлы, такие как сторонние ярлыки , невозможно скопировать.
    • Копировать файл можно только в одну родительскую папку. Указание нескольких родительских папок не поддерживается. Если поле parents не указано, файл наследует все обнаруживаемые родительские папки исходного файла.
    • Несмотря на то, что папка — это тип файла, её нельзя скопировать. Вместо этого создайте папку назначения и укажите её в поле parents существующих файлов. После этого исходную папку можно удалить.
    • Если не указано новое имя файла, метод copy создает файл с тем же именем, что и у оригинала.
    • Чрезмерное использование copy может привести к превышению квоты Drive API. Подробнее см. в разделе «Ограничения использования» .

Вот несколько следующих шагов, которые вы можете попробовать: