Описание
Используйте chrome.syncFileSystem API, чтобы сохранять и синхронизировать данные на Google Диске. Этот API НЕ предназначен для доступа к произвольным пользовательским документам, хранящимся на Google Диске. Оно предоставляет синхронизируемое хранилище для офлайн-режима и кеширования, чтобы одни и те же данные были доступны на разных клиентах. Подробнее об управлении данными…
Разрешения
syncFileSystemТипы
ConflictResolutionPolicy
Перечисление
"last_write_win"
"manual"
FileInfo
Свойства
-
действие
SyncAction необязательно
Действие синхронизации, которое активирует событие
onFileStatusChanged. Возможные значения:'added','updated'или'deleted'. Применяется, только если статус –'synced'. -
direction
SyncDirection необязательный
Направление синхронизации для события
onFileStatusChanged. Значение направления синхронизации может быть'local_to_remote'или'remote_to_local'. Применяется, только если статус –'synced'. -
fileEntry
Запись
fileEntryдля целевого файла, статус которого изменился. Содержит информацию о названии и пути синхронизированного файла. После удаления файла информация о нем (fileEntry) останется доступной, но сам файл будет удален. -
статус
Статус файла после события
onFileStatusChanged. Возможные значения:'synced','pending'или'conflicting'.
FileStatus
Перечисление
"synced"
Конфликтов нет, локальные изменения отсутствуют.
pending
Есть одно или несколько локальных изменений, которые ещё не синхронизированы.
"conflicting"
Файл конфликтует с удаленной версией, и конфликт необходимо разрешить вручную.
FileStatusInfo
Свойства
-
ошибка
Строка (необязательно)
Необязательная ошибка, которая возвращается, только если возникла проблема с получением FileStatus для указанного файла.
-
fileEntry
Запись
Один из объектов Entry, изначально переданных в getFileStatuses.
-
статус
Возможные значения:
'synced','pending'или'conflicting'.
ServiceInfo
Свойства
-
описание
string
-
штат
ServiceStatus
Перечисление
"initializing"
Сервис синхронизации инициализируется (например, восстанавливает данные из базы данных, проверяет подключение и выполняет аутентификацию в сервисе).
running
Сервис синхронизации запущен и работает.
authentication_required
Сервис синхронизации не синхронизирует файлы, поскольку удаленному сервису требуется аутентификация пользователя.
"temporary_unavailable"
Синхронизация файлов не выполняется, поскольку удаленный сервис временно недоступен из-за устранимых ошибок, например отсутствует подключение к сети, удаленный сервис не работает или недоступен и т. д. Дополнительные сведения должны быть указаны в параметре description в OnServiceInfoUpdated (может содержать сведения, относящиеся к конкретному сервису).
"disabled"
Сервис синхронизации отключен, и контент не будет синхронизироваться. Например, это может произойти, если у пользователя нет аккаунта в удаленном сервисе или в сервисе синхронизации произошла неустранимая ошибка.
StorageInfo
Свойства
-
quotaBytes
число
-
usageBytes
число
SyncAction
Перечисление
"added"
"updated"
"deleted"
SyncDirection
Перечисление
"local_to_remote"
"remote_to_local"
Методы
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Возвращает текущие правила разрешения конфликтов.
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(policy: ConflictResolutionPolicy) => void
-
policy
-
Возвраты
-
Promise<ConflictResolutionPolicy>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Возвращает FileStatus для заданного fileEntry. Возможные значения: 'synced', 'pending' или 'conflicting'. Обратите внимание, что статус 'conflicting' возможен, только если для правила разрешения конфликтов сервиса задано значение 'manual'.
Параметры
-
fileEntry
Запись
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(status: FileStatus) => void
-
статус
-
Возвраты
-
Promise<FileStatus>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
Возвращает каждый элемент FileStatus для заданного массива fileEntry. Обычно вызывается с результатом dirReader.readEntries().
Параметры
-
fileEntries
object[]
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(status: FileStatusInfo[]) => void
-
статус
-
Возвраты
-
Promise<FileStatusInfo[]>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Возвращает текущий статус синхронизации.
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(status: ServiceStatus) => void
-
статус
-
Возвраты
-
Promise<ServiceStatus>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Возвращает текущий объем и квоту в байтах для хранилища файлов 'syncable' для приложения.
Параметры
-
fileSystem
DOMFileSystem
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(info: StorageInfo) => void
-
информация
-
Возвраты
-
Promise<StorageInfo>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в 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 в обратном вызове.
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Возвраты
-
Promise<DOMFileSystem>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Задает правила разрешения конфликтов по умолчанию для хранилища файлов 'syncable' приложения. По умолчанию установлено значение 'last_write_win'. Если для правила разрешения конфликтов задано значение 'last_write_win', конфликты для существующих файлов автоматически разрешаются при следующем обновлении файла. callback можно указать, чтобы узнать, был ли запрос успешным.
Параметры
-
policy
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 117 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Срабатывает, когда файл обновляется сервисом фоновой синхронизации.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(detail: FileInfo) => void
-
подробная информация
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Срабатывает, когда в серверной части синхронизации возникает ошибка или другое изменение статуса (например, когда синхронизация временно отключена из-за ошибки сети или аутентификации).
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(detail: ServiceInfo) => void
-
подробная информация
-