chrome.syncFileSystem

Opis

Do zapisywania i synchronizowania danych na Dysku Google używaj interfejsu API chrome.syncFileSystem. Ten interfejs API NIE umożliwia dostępu do dokumentów dowolnych użytkowników przechowywanych na Dysku Google. Zapewnia specyficzną dla aplikacji pamięć z możliwością synchronizacji do wykorzystania w trybie offline i w pamięci podręcznej, dzięki czemu te same dane mogą być dostępne w różnych klientach. Więcej informacji o korzystaniu z tego interfejsu API znajdziesz w artykule Zarządzanie danymi.

Uprawnienia

syncFileSystem

Typy

ConflictResolutionPolicy

Enum

"last_write_win"

FileInfo

Właściwości

  • działanie

    Opcjonalne SyncAction

    Podjęto działanie synchronizacji w celu uruchomienia zdarzenia onFileStatusChanged. Wartością działania może być 'added', 'updated' lub 'deleted'. Ma zastosowanie tylko wtedy, gdy stan to 'synced'.

  • direction

    Opcjonalny parametr SyncDirection

    Kierunek synchronizacji zdarzenia onFileStatusChanged. Kierunek synchronizacji może mieć wartość '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 się zmienił. Zawiera informacje o nazwie i ścieżce zsynchronizowanego pliku. Po usunięciu pliku informacje o stanie fileEntry będą nadal dostępne, ale plik już nie będzie.

  • status

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

FileStatus

Enum

"synced"
Nie jest w konflikcie i nie ma oczekujących zmian lokalnych.

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

"conflicting"
Konflikt pliku z wersją zdalną i trzeba go rozwiązać ręcznie.

FileStatusInfo

Właściwości

  • error

    ciąg znaków opcjonalny

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

  • fileEntry

    Wpis

    Jeden z wpisów pierwotnie przypisany do getFileStatuses.

  • status

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

ServiceInfo

Właściwości

ServiceStatus

Enum

"initializing"
Trwa inicjowanie usługi synchronizacji (np.przywracanie danych z bazy danych, sprawdzanie połączeń, uwierzytelnianie w usłudze itp.).

"running"
Usługa synchronizacji została uruchomiona.

"authentication_required"
Usługa synchronizacji nie synchronizuje plików, ponieważ aby można było kontynuować, usługa zdalna musi zostać uwierzytelniona przez użytkownika.

"temporary_unavailable"
Usługa synchronizacji nie synchronizuje plików, ponieważ usługa zdalna jest (tymczasowo) niedostępna z powodu błędów możliwych do odzyskania, np. sieć jest offline, usługa zdalna jest niedostępna lub nieosiągalna itp. Więcej informacji na ten temat należy podać w parametrze description w OnServiceInfoUpdated (który może zawierać szczegóły specyficzne dla usługi).

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

StorageInfo

Właściwości

  • quotaBytes

    Liczba

  • usageBytes

    Liczba

SyncAction

Enum

SyncDirection

Enum

"local_to_remote"

Metody

getConflictResolutionPolicy()

Obietnica
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

Pobiera bieżące zasady rozwiązywania konfliktów.

Parametry

Akcje powrotne

  • Chrome 117 i nowsze wersje

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

getFileStatus()

Obietnica
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

Zwraca wartość FileStatus dla podanej wartości 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 w usłudze ma wartość 'manual'.

Parametry

  • fileEntry

    Wpis

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (status: FileStatus)=>void

Akcje powrotne

  • Promise<FileStatus>

    Chrome 117 i nowsze wersje

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

getFileStatuses()

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

Zwraca wartości FileStatus dla danej tablicy fileEntry. Zwykle wywoływane z wynikiem z dirReader.readEntries().

Parametry

  • fileEntries

    obiekt[]

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (status: FileStatusInfo[])=>void

Akcje powrotne

  • Promise<FileStatusInfo[]>

    Chrome 117 i nowsze wersje

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

getServiceStatus()

Obietnica
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

Zwraca bieżący stan backendu synchronizacji.

Parametry

Akcje powrotne

  • Promise<ServiceStatus>

    Chrome 117 i nowsze wersje

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

getUsageAndQuota()

Obietnica
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

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

Parametry

  • fileSystem

    DOMFileSystem

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (info: StorageInfo)=>void

Akcje powrotne

  • Promise<StorageInfo>

    Chrome 117 i nowsze wersje

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

requestFileSystem()

Obietnica
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

Zwraca możliwy do zsynchronizowania system plików obsługiwany przez Dysk Google. Zwróconą instancję DOMFileSystem można obsługiwać tak samo jak na tymczasowych i trwałych systemach plików (patrz http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Wywołanie tej funkcji wielokrotnie z tej samej aplikacji spowoduje zwrócenie tego samego nicka w tym samym systemie plików.

Pamiętaj, że to połączenie może się nie udać. Na przykład jeśli użytkownik nie jest zalogowany w Chrome lub nie działa sieć. Aby można było obsłużyć te błędy, w wywołaniu zwrotnym należy sprawdzić chrome.runtime.lastError.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (fileSystem: DOMFileSystem)=>void

    • fileSystem

      DOMFileSystem

Akcje powrotne

  • Promise<DOMFileSystem>

    Chrome 117 i nowsze wersje

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

setConflictResolutionPolicy()

Obietnica
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

Ustawia domyślną zasadę rozwiązywania konfliktów w pamięci plików 'syncable' dla aplikacji. Domyślnie jest ustawiona na 'last_write_win'. Jeśli zasada rozwiązywania konfliktów ma wartość 'last_write_win', konflikty dotyczące istniejących plików są automatycznie rozwiązywane przy następnej aktualizacji pliku. Opcjonalnie można otrzymać żądanie callback, aby sprawdzić, czy prośba została zrealizowana.

Parametry

Akcje powrotne

  • Promise<void>

    Chrome 117 i nowsze wersje

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

Wydarzenia

onFileStatusChanged

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

Uruchamiane, gdy plik został zaktualizowany przez usługę synchronizacji w tle.

Parametry

  • wywołanie zwrotne

    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 (na przykład gdy synchronizacja jest tymczasowo wyłączona z powodu błędu sieci lub uwierzytelniania).

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (detail: ServiceInfo)=>void