chrome.syncFileSystem

Opis

Używaj interfejsu chrome.syncFileSystem API do zapisywania danych na Dysku Google i synchronizowania z nim zmian. Ten interfejs API NIE służy do uzyskiwania dostępu do dowolnych dokumentów użytkownika przechowywanych na Dysku Google. Zapewnia pamięć masową z możliwością synchronizacji, która jest przeznaczona dla aplikacji i może być używana w trybie offline oraz do buforowania, dzięki czemu te same dane mogą być dostępne dla różnych klientów. Więcej informacji o korzystaniu z tego interfejsu API znajdziesz w artykule Zarządzanie danymi.

Uprawnienia

syncFileSystem

Typy

ConflictResolutionPolicy

Typ wyliczeniowy

"last_write_win"

"manual"

FileInfo

Właściwości

  • działanie

    SyncAction opcjonalny

    Działanie synchronizacji podjęte w celu wywołania zdarzenia onFileStatusChanged. Wartość działania może wynosić 'added', 'updated' lub 'deleted'. Ma zastosowanie tylko wtedy, gdy stan to 'synced'.

  • direction

    SyncDirection opcjonalne

    Kierunek synchronizacji zdarzenia onFileStatusChanged. Wartość kierunku synchronizacji może wynosić 'local_to_remote' lub 'remote_to_local'. Ma zastosowanie tylko wtedy, gdy stan to 'synced'.

  • fileEntry

    Wpis

    fileEntry dla pliku docelowego, którego stan się zmienił. Zawiera informacje o nazwie i ścieżce zsynchronizowanego pliku. Po usunięciu pliku informacje o fileEntry będą nadal dostępne, ale plik nie będzie już istniał.

  • status

    Stan pliku po zdarzeniu onFileStatusChanged. Wartość stanu może wynosić 'synced', 'pending' lub 'conflicting'.

FileStatus

Typ wyliczeniowy

"synced"
Brak konfliktów i oczekujących zmian lokalnych.

"pending"
Ma co najmniej 1 oczekującą zmianę lokalną, która nie została zsynchronizowana.

"conflicting"
Plik jest w konflikcie z wersją zdalną i musi zostać rozwiązany ręcznie.

FileStatusInfo

Właściwości

  • błąd

    ciąg znaków opcjonalny

    Opcjonalny błąd, który jest zwracany tylko wtedy, gdy wystąpił problem z pobraniem stanu FileStatus dla danego pliku.

  • fileEntry

    Wpis

    Jedna z pozycji pierwotnie przekazanych do getFileStatuses.

  • status

    Wartość stanu może wynosić 'synced', 'pending' lub 'conflicting'.

ServiceInfo

Właściwości

ServiceStatus

Typ wyliczeniowy

"initializing"
Usługa synchronizacji jest inicjowana (np. przywracane są dane z bazy danych, sprawdzane jest połączenie i uwierzytelnianie w usłudze).

"running"
Usługa synchronizacji działa.

"authentication_required"
Usługa synchronizacji nie synchronizuje plików, ponieważ usługa zdalna wymaga uwierzytelnienia przez użytkownika, aby kontynuować.

"temporary_unavailable"
Usługa synchronizacji nie synchronizuje plików, ponieważ usługa zdalna jest (tymczasowo) niedostępna z powodu błędów, które można naprawić, np. sieć jest offline, usługa zdalna nie działa lub jest nieosiągalna itp. Więcej informacji powinien podać parametr description w OnServiceInfoUpdated (który może zawierać szczegóły dotyczące usługi).

"disabled"
Usługa synchronizacji jest wyłączona, a treści nigdy nie będą synchronizowane. (Może się tak zdarzyć na przykład wtedy, gdy użytkownik nie ma konta w usłudze zdalnej lub w usłudze synchronizacji wystąpił nieodwracalny błąd).

StorageInfo

Właściwości

  • quotaBytes

    liczba

  • usageBytes

    liczba

SyncAction

Typ wyliczeniowy

"added"

"updated"

"deleted"

SyncDirection

Typ wyliczeniowy

"local_to_remote"

"remote_to_local"

Metody

getConflictResolutionPolicy()

Obietnica
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

Pobiera bieżącą zasadę rozwiązywania konfliktów.

Parametry

Zwroty

  • Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getFileStatus()

Obietnica
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

Zwraca FileStatus dla podanego fileEntry. Wartość stanu może wynosić 'synced', 'pending' lub 'conflicting'. Pamiętaj, że stan 'conflicting' występuje tylko wtedy, gdy zasada rozwiązywania konfliktów usługi jest ustawiona na 'manual'.

Parametry

  • fileEntry

    Wpis

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (status: FileStatus) => void

Zwroty

  • Promise<FileStatus>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getFileStatuses()

Obietnica
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

Zwraca każdy element FileStatus dla danej tablicy fileEntry. Zwykle wywoływana z wynikiem dirReader.readEntries().

Parametry

  • fileEntries

    object[]

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (status: FileStatusInfo[]) => void

Zwroty

  • Promise<FileStatusInfo[]>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getServiceStatus()

Obietnica
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

Zwraca bieżący stan backendu synchronizacji.

Parametry

Zwroty

  • Promise<ServiceStatus>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getUsageAndQuota()

Obietnica
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

Zwraca bieżące wykorzystanie i limit w bajtach dla miejsca na pliki 'syncable' aplikacji.

Parametry

  • fileSystem

    DOMFileSystem

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (info: StorageInfo) => void

Zwroty

  • Promise<StorageInfo>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

requestFileSystem()

Obietnica
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

Zwraca system plików z możliwością synchronizacji, który jest obsługiwany przez Dysk Google. Zwróconą instancję DOMFileSystem można obsługiwać w taki sam sposób jak tymczasowe i trwałe systemy plików (patrz http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Wielokrotne wywołanie tej metody z tej samej aplikacji spowoduje zwrócenie tego samego uchwytu do tego samego systemu plików.

Pamiętaj, że to wywołanie może się nie powieść. Na przykład jeśli użytkownik nie jest zalogowany w Chrome lub nie ma połączenia z siecią. Aby obsłużyć te błędy, ważne jest, aby w wywołaniu zwrotnym sprawdzić chrome.runtime.lastError.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Zwroty

  • Promise<DOMFileSystem>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

setConflictResolutionPolicy()

Obietnica
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

Ustawia domyślne zasady rozwiązywania konfliktów w przypadku miejsca na pliki 'syncable' dla aplikacji. Domyślnie jest ustawiona wartość 'last_write_win'. Gdy zasada rozwiązywania konfliktów jest ustawiona na 'last_write_win', konflikty dotyczące istniejących plików są automatycznie rozwiązywane przy następnej aktualizacji pliku. Można opcjonalnie podać callback, aby dowiedzieć się, czy żądanie się powiodło.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

Wydarzenia

onFileStatusChanged

chrome.syncFileSystem.onFileStatusChanged.addListener(
  callback: function,
)

Uruchamiany, gdy plik zostanie zaktualizowany przez usługę synchronizacji w tle.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (detail: FileInfo) => void

onServiceStatusChanged

chrome.syncFileSystem.onServiceStatusChanged.addListener(
  callback: function,
)

Uruchamiane, gdy w backendzie synchronizacji wystąpi błąd lub inna zmiana stanu (np. gdy synchronizacja zostanie tymczasowo wyłączona z powodu błędu sieci lub uwierzytelniania).

Parametry