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 on pamięć synchronizowaną w ramach aplikacji do użytku offline i buforowania, dzięki czemu te same dane mogą być dostępne na różnych klientach. 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 opcjonalny

    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 w przypadku pliku docelowego, którego stan uległ zmianie. Zawiera nazwę i ścieżkę zsynchronizowanego pliku. Po usunięciu pliku informacje 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

„zsynchronizowano”
Brak konfliktów i oczekujących zmian lokalnych.

„oczekujące”
Zawiera 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

    string opcjonalny

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

  • fileEntry

    Wpis

    Jeden z obiektów Entry 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.przywracanie danych z bazy danych, sprawdzanie połączenia i uwierzytelnianie w usłudze itp.).

„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 można było 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 niedostępna, usługa zdalna nie działa lub jest nieosiągalna itp. Więcej szczegółów powinno być podanych w parametrze description w OnServiceInfoUpdated (który może zawierać szczegóły dotyczące usługi).

„disabled”
Usługa synchronizacji jest wyłączona i treści nigdy nie będą synchronizowane. (Może się to zdarzyć, gdy użytkownik nie ma konta w usłudze zdalnej lub usługa synchronizacji napotkała 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żące zasady rozwiązywania konfliktów.

Parametry

Zwroty

  • Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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 zasady rozwiązywania konfliktów usługi są ustawione na 'manual'.

Parametry

  • fileEntry

    Wpis

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (status: FileStatus) => void

Zwroty

  • Promise<FileStatus>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

getFileStatuses()

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

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

Parametry

  • fileEntries

    object[]

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (status: FileStatusInfo[]) => void

Zwroty

  • Promise<FileStatusInfo[]>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

getUsageAndQuota()

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

Zwraca bieżące wykorzystanie i limit miejsca na dane w bajtach w przypadku 'syncable' pamięci plików aplikacji.

Parametry

  • fileSystem

    DOMFileSystem

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (info: StorageInfo) => void

Zwroty

  • Promise<StorageInfo>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

requestFileSystem()

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

Zwraca synchronizowany system plików obsługiwany przez Dysk Google. Zwrócona instancja DOMFileSystem może być obsługiwana 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ływanie tej funkcji 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, w funkcji zwrotnej należy sprawdzić, czy występuje chrome.runtime.lastError.

Parametry

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Zwroty

  • Promise<DOMFileSystem>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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 'syncable' pamięci plików 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. callback można podać opcjonalnie, aby sprawdzić, czy żądanie zostało zrealizowane.

Parametry

Zwroty

  • Promise<void>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onFileStatusChanged

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

Wywoływane, gdy plik został 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,
)

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

Parametry