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