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

В этом руководстве объясняется, как создавать и управлять файлами на Google Диске с помощью API Google Диска.

Создать файл

Чтобы создать файл на Диске без метаданных и контента, используйте метод files.create без параметров. Файлу присваиваются kind drive.file , идентификатор id , name «Untitled» и тип mimeType application/octet-stream . Параметр uploadType помечен как обязательный, но по умолчанию задан как media , поэтому его указывать не нужно.

Дополнительную информацию об ограничениях на файлы на Диске см. в разделе Ограничения на файлы и папки .

Создавать файлы, содержащие только метаданные

Файлы, содержащие только метаданные, не содержат контента. Метаданные — это данные (например, name , mimeType и createdTime ), описывающие файл. Поля, такие как name , не зависят от пользователя и отображаются одинаково для каждого пользователя, тогда как поля, такие как viewedByMeTime содержат значения, специфичные для пользователя.

Примером файла, содержащего только метаданные, является папка с MIME-типом application/vnd.google-apps.folder . Подробнее см. в разделе Создание и заполнение папок . Другой пример — ярлык, указывающий на другой файл на Диске с MIME-типом application/vnd.google-apps.shortcut . Подробнее см. в разделе Создание ярлыка для файла на Диске .

Управление миниатюрами изображений

Миниатюры помогают пользователям идентифицировать файлы на Диске. Диск может автоматически создавать миниатюры для распространённых типов файлов, или вы можете предоставить изображение миниатюры, созданное вашим приложением. Подробнее см. в разделе Загрузка миниатюр .

Копировать существующий файл

Чтобы скопировать файл и применить запрошенные обновления, используйте метод files.copy . Чтобы найти идентификатор fileId для копирования, используйте метод files.list .

Обратите внимание, что для авторизации вызова необходимо использовать соответствующую область действия API Диска . Подробнее об областях действия Диска см. в статье Выбор областей действия API Google Диска .

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

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

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

    • Объект DownloadRestrictionsMetadata ресурса files определяет, кто может копировать файл. Подробнее см. в статье «Запретить пользователям загружать, печатать или копировать ваш файл» .
    • Ресурс поля capabilities.canCopy определяет, может ли пользователь копировать файл. Подробнее см. в разделе «Общие сведения о возможностях файлов» .
    • Владельцем скопированного файла является пользователь, создавший копию. Никакие другие настройки общего доступа из исходного файла не копируются. Если копия создана в общей папке, она наследует разрешения этой папки.
    • Владелец скопированного файла может измениться, и копия может не унаследовать настройки общего доступа исходного файла. Возможно, эти настройки потребуется сбросить.
  • Управление файлами :

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

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