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

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

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

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

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

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

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

Любая версия файла blob, кроме головной версии, не помеченная как "Сохранить навсегда", может быть удалена. Удаляемые версии обычно сохраняются в течение 30 дней, но могут быть удалены раньше, если файл содержит 100 версий, не помеченных как "Сохранить навсегда", и загружается новая версия.

В поле keepForever ресурса revisions можно установить значение true для пометки ревизий, которые вы не хотите удалять с Google Drive. После установки параметра "Сохранять навсегда" для ревизии файла 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 path.

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

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

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

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

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

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