Управление версиями файлов

В этом руководстве объясняется, как использовать ресурс revisions для управления ревизиями файлов, например, для получения ревизии файла и публикации ревизии Google Workspace. API Google Диска также позволяет загружать ревизии. Подробнее о терминологии ревизий см. в разделе «Обзор изменений и ревизий» .

Чтобы получить доступ к истории изменений, пользователь должен иметь role owner , organizer , fileOrganizer или writer .

Чтобы указать поля, возвращаемые в ответе, можно задать системный параметр fields с помощью любого метода ресурса revisions . Если этот параметр пропущен, сервер вернет набор полей по умолчанию. Например, метод revisions.list возвращает только поля id , mimeType , kind и modifiedTime . Чтобы вернуть другие поля, см. раздел Возврат определённых полей .

Укажите версии, которые необходимо сохранить от автоматического удаления

Google Drive автоматически удаляет старые версии, которые больше не представляют интереса для пользователя.

Для ревизии BLOB -файла можно установить значение «Хранить вечно», что означает, что она не будет автоматически удалена. Можно установить значение «Хранить вечно» для до 200 ревизий, которые будут учитываться при расчете лимита хранилища. Ревизия заголовка никогда не удаляется автоматически.

Любая ревизия BLOB-файла, кроме главной, не отмеченная как «Хранить вечно», может быть удалена. Удаляемые ревизии обычно хранятся в течение 30 дней, но могут быть удалены и раньше, если файл содержит 100 ревизий, не отмеченных как «Хранить вечно», и загружена новая ревизия.

Вы можете установить логическое поле keepForever ресурса revisions в значение true , чтобы отметить те версии, которые вы не хотите удалять с Диска. После того, как для версии BLOB-файла установлено значение «Хранить вечно», её можно только загрузить или удалить. Подробнее см. в разделах Загрузка версии и Удаление версии .

Если вы используете старую версию Drive API v2, используйте pinned поле ресурса revisions вместо keepForever .

Получить ревизию файла

Чтобы получить метаданные или содержимое ревизии файла, используйте метод get ресурса revisions с параметрами fileId и revisionId . Если вы не знаете идентификатор ревизии, вы можете получить список всех ревизий файла с помощью метода list .

Метод возвращает метаданные ревизии как экземпляр ресурса revisions .

Чтобы подтвердить риск загрузки известного вредоносного ПО или других вредоносных файлов, установите для параметра запроса acknowledgeAbuse значение true . Это поле применимо только в том случае, если задан параметр alt=media , а пользователь является владельцем файла или организатором общего диска, на котором находится файл.

Список версий файла

Чтобы вывести список ревизий файла, используйте метод list ресурса revisions с параметром fileId path. Метод возвращает список ревизий файла.

Передайте следующие параметры запроса для настройки пагинации или фильтрации ревизий:

  • pageSize : максимальное количество ревизий, возвращаемых на страницу.

  • pageToken : токен страницы, полученный при предыдущем вызове списка. Укажите этот токен для получения следующей страницы.

Обновить версию файла

Чтобы обновить ревизию файла, используйте метод update для ресурса revisions с параметрами пути fileId и revisionId .

Метод возвращает экземпляр ресурса revisions .

Загрузить версию

Вы можете загрузить только версии содержимого BLOB-файла, отмеченные как «Сохранить навсегда». Если вы хотите загрузить версию, сначала убедитесь, что она отмечена как «Сохранить навсегда». Подробнее см. в разделе «Указание версий для сохранения от автоматического удаления» .

Чтобы загрузить версию содержимого файла BLOB-объекта или экспортировать версию содержимого документа Google Workspace, см. раздел Загрузка и экспорт файлов .

Удалить версию файла

Чтобы окончательно удалить ревизию файла, используйте метод delete в ресурсе revisions с параметрами пути fileId и revisionId .

Вы можете удалить версии только для BLOB-файлов с двоичным содержимым на Диске, таким как изображения, видео и PDF-файлы. Вы можете удалить версию BLOB-файла, если она помечена как «Сохранить навсегда». Версии других файлов, таких как Google Docs или Google Sheets, а также последнюю оставшуюся версию двоичного файла удалить невозможно.

Опубликовать пересмотр

Чтобы опубликовать версию Google Docs, Google Sheets и Google Slides, задайте свойство published для этого файла в ресурсе revisions . Это свойство невозможно задать для версий Google Sites с помощью Drive API.

Опубликованные версии не отражают изменения, внесённые в файл, если не задано свойство publishAuto . Если свойство имеет значение true , новые версии файла автоматически публикуются, перезаписывая предыдущие. Слайды и рисунки поддерживают только автоматическую повторную публикацию и требуют, чтобы свойство publishAuto было задано как true . Для файлов Sites свойство publishAuto всегда имеет false .

Если файл создан в домене Google Workspace, свойство publishedOutsideDomain указывает, доступна ли эта версия всем или только пользователям домена. Для файлов Sites это свойство указывает, существует ли разрешение type=anyone . Подробнее см. в поле type ресурса permissions .

Автоматическая публикация также контролируется флажком «Автоматически перепубликовать при внесении изменений» в интерфейсе Документов и Таблиц. Подробнее см. в статье «Сделать Google Документы, Таблицы, Презентации и Формы общедоступными ».