chrome.syncFileSystem

Описание

Используйте 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>

Получает текущую политику разрешения конфликтов.

Параметры

Возврат

  • Хром 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>

Возвращает текущий статус бэкэнда синхронизации.

Параметры

Возврат

  • Обещание< Статус Услуги >

    Хром 117+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getUsageAndQuota()

Обещать
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

Возвращает текущее использование и квоту в байтах для 'syncable' файлового хранилища для приложения.

Параметры

Возврат

  • 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 для подтверждения успешного выполнения запроса.

Параметры

Возврат

  • Обещание<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