Описание
 Используйте API chrome.syncFileSystem для сохранения и синхронизации данных на Google Диске. Этот API НЕ предназначен для доступа к произвольным пользовательским документам, хранящимся на Google Диске. Он предоставляет синхронизируемое хранилище для конкретного приложения, которое можно использовать офлайн и кэшировать, обеспечивая доступ к одним и тем же данным на разных клиентах. Подробнее об использовании этого API читайте в разделе «Управление данными» .
Разрешения
syncFileSystem Типы
ConflictResolutionPolicy
Перечисление
 "last_write_win"   "руководство" 
FileInfo
Характеристики
- действиеSyncAction необязательно Синхронизирующее действие, выполняемое для срабатывания события onFileStatusChanged. Значение действия может быть'added','updated'или'deleted'. Применяется только при статусе'synced'.
- направлениеSyncDirection необязательно Направление синхронизации для события onFileStatusChanged. Значение направления синхронизации может быть'local_to_remote'или'remote_to_local'. Применяется только если статус —'synced'.
- fileEntryВход fileEntryдля целевого файла, статус которого изменился. Содержит информацию об имени и пути к синхронизированному файлу. При удалении файла информацияfileEntryостанется доступной, но файл больше не будет существовать.
- статусРезультирующий статус файла после события onFileStatusChanged. Значение статуса может быть'synced','pending'или'conflicting'.
FileStatus
Перечисление
 "синхронизировано"  "в ожидании"  «конфликтующий»
 Не конфликтует и не имеет ожидающих локальных изменений. 
 Имеет одно или несколько ожидающих локальных изменений, которые не были синхронизированы. 
 Файл конфликтует с удаленной версией и должен быть разрешен вручную.
FileStatusInfo
Характеристики
- ошибкастрока необязательная Необязательная ошибка, которая возвращается только в случае возникновения проблемы при получении FileStatus для заданного файла. 
- fileEntryВход Одна из записей, изначально предоставленных getFileStatuses. 
- статусЗначение статуса может быть 'synced','pending'или'conflicting'.
ServiceInfo
Характеристики
- описаниенить 
- состояние
ServiceStatus
Перечисление
 "инициализация"  "бег"  "authentication_required"  "временно_недоступно"  "неполноценный"
 Инициализируется служба синхронизации (например, восстановление данных из базы данных, проверка подключения и аутентификация в службе и т. д.). 
 Служба синхронизации запущена и работает. 
 Служба синхронизации не синхронизирует файлы, поскольку для продолжения работы удаленной службе требуется аутентификация пользователя. 
 Служба синхронизации не синхронизирует файлы, так как удаленная служба (временно) недоступна из-за некоторых устранимых ошибок, например, сеть отключена, удаленная служба не работает или недоступна и т. д. Более подробную информацию можно получить с помощью параметра description в OnServiceInfoUpdated (который может содержать сведения, специфичные для службы). 
 Служба синхронизации отключена, и контент никогда не будет синхронизирован. (Например, это может произойти, если у пользователя нет учетной записи на удаленной службе или в службе синхронизации произошла неустранимая ошибка.)
StorageInfo
Характеристики
- quotaBytesчисло 
- использование байтовчисло 
SyncAction
Перечисление
 "добавлен"   "обновлено"   "удалено" 
SyncDirection
Перечисление
 "локальный_к_удалённому"   "удалённый_в_локальный" 
Методы
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Получает текущую политику разрешения конфликтов.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(policy: ConflictResolutionPolicy) => void - политика
 
Возврат
- Обещание< Политика разрешения конфликтов > Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
 Возвращает FileStatus для заданного fileEntry . Возможные значения статуса: 'synced' , 'pending' или 'conflicting' . Обратите внимание, что состояние 'conflicting' возникает только в том случае, если политика разрешения конфликтов службы установлена на 'manual' . 
Параметры
- fileEntryВход 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(status: FileStatus) => void - статус
 
Возврат
- Обещание< Статус файла > Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
 Возвращает каждый FileStatus для заданного массива fileEntry . Обычно вызывается с результатом dirReader.readEntries(). 
Параметры
- fileEntriesобъект[] 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(status: FileStatusInfo[]) => void - статус
 
Возврат
- Обещание< FileStatusInfo []> Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Возвращает текущий статус бэкэнда синхронизации.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(status: ServiceStatus) => void - статус
 
Возврат
- Обещание< Статус Услуги > Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
 Возвращает текущее использование и квоту в байтах для 'syncable' файлового хранилища для приложения. 
Параметры
- файловая системаDOMFileSystem 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(info: StorageInfo) => void - информация
 
Возврат
- Promise< StorageInfo > Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
 Возвращает синхронизируемую файловую систему, поддерживаемую Google Диском. Возвращённый экземпляр DOMFileSystem можно использовать так же, как временные и постоянные файловые системы (см. http://dev.w3.org/2009/dap/file-system/file-dir-sys.html ).
Многократный вызов этой функции из одного и того же приложения вернет один и тот же дескриптор одной и той же файловой системы.
Обратите внимание, что этот вызов может завершиться ошибкой. Например, если пользователь не вошёл в Chrome или отсутствует сетевое соединение. Для обработки этих ошибок важно проверять chrome.runtime.lastError в обратном вызове.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(fileSystem: DOMFileSystem) => void - файловая системаDOMFileSystem 
 
Возврат
- Promise<DOMFileSystem> Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
 Задаёт политику разрешения конфликтов по умолчанию для 'syncable' файлового хранилища приложения. По умолчанию установлено значение 'last_write_win' . Если установлено значение 'last_write_win' конфликты для существующих файлов будут автоматически разрешены при следующем обновлении файла. При необходимости можно задать callback для подтверждения успешного выполнения запроса. 
Параметры
- политика
- перезвонитьфункция необязательна Параметр callbackвыглядит так:() => void 
Возврат
- Обещание<void> Хром 117+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
События
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Срабатывает при обновлении файла службой фоновой синхронизации.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(detail: FileInfo) => void - деталь
 
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Срабатывает, если в бэкэнде синхронизации произошла ошибка или произошло другое изменение статуса (например, когда синхронизация временно отключена из-за ошибки сети или аутентификации).
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(detail: ServiceInfo) => void - деталь