Описание
Используйте 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
- деталь