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 staniefileEntry
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
-
opis
string,
-
state
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()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
Pobiera bieżące zasady rozwiązywania konfliktów.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(policy: ConflictResolutionPolicy) => void
-
policy
-
Akcje powrotne
-
Promise<ConflictResolutionPolicy>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getFileStatus()
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
-
status
-
Akcje powrotne
-
Promise<FileStatus>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getFileStatuses()
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
-
status
-
Akcje powrotne
-
Promise<FileStatusInfo[]>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
)
Zwraca bieżący stan backendu synchronizacji.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(status: ServiceStatus) => void
-
status
-
Akcje powrotne
-
Promise<ServiceStatus>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getUsageAndQuota()
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
-
informacje
-
Akcje powrotne
-
Promise<StorageInfo>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
requestFileSystem()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setConflictResolutionPolicy()
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
-
policy
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 117 i nowsze wersjeObietnice 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
-
szczegóły
-
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
-
szczegóły
-