Descrizione
Utilizza l'API chrome.syncFileSystem
per salvare e sincronizzare i dati su Google Drive. Questa API NON consente di accedere a documenti utente arbitrari archiviati in Google Drive. Fornisce uno spazio di archiviazione sincronizzabile specifico per l'app per l'utilizzo offline e della memorizzazione nella cache, in modo che gli stessi dati possano essere disponibili su client diversi. Per saperne di più sull'utilizzo di questa API, leggi Gestire i dati.
Autorizzazioni
syncFileSystem
Tipi
ConflictResolutionPolicy
Enum
"last_write_win"
"manuale"
FileInfo
Proprietà
-
azione
SyncAction facoltativo
Azione di sincronizzazione intrapresa per attivare l'evento
onFileStatusChanged
. Il valore dell'azione può essere'added'
,'updated'
o'deleted'
. Si applica solo se lo stato è'synced'
. -
direction
SyncDirection opzionale
Direzione di sincronizzazione per l'evento
onFileStatusChanged
. Il valore della direzione di sincronizzazione può essere'local_to_remote'
o'remote_to_local'
. Si applica solo se lo stato è'synced'
. -
fileEntry
Voce
fileEntry
per il file di destinazione il cui stato è cambiato. Contiene informazioni sul nome e sul percorso del file sincronizzato. Al momento dell'eliminazione del file, le informazionifileEntry
saranno ancora disponibili, ma il file non esisterà più. -
stato
Stato del file risultante dopo l'evento
onFileStatusChanged
. Il valore dello stato può essere'synced'
,'pending'
o'conflicting'
.
FileStatus
Enum
"sincronizzato"
Non in conflitto e senza modifiche locali in attesa.
"In attesa"
Sono presenti una o più modifiche locali in attesa che non sono state sincronizzate.
"conflicting"
Il file è in conflitto con la versione remota e deve essere risolto manualmente.
FileStatusInfo
Proprietà
-
errore
stringa facoltativa
Errore facoltativo restituito solo se si è verificato un problema durante il recupero di FileStatus per il file specificato.
-
fileEntry
Voce
Una delle voci fornite originariamente a getFileStatuses.
-
stato
Il valore dello stato può essere
'synced'
,'pending'
o'conflicting'
.
ServiceInfo
Proprietà
-
descrizione
stringa
-
stato
ServiceStatus
Enum
"initializing"
Il servizio di sincronizzazione è in fase di inizializzazione (ad es. ripristino dei dati dal database, controllo della connettività e autenticazione al servizio e così via).
"running"
Il servizio di sincronizzazione è attivo e in esecuzione.
"authentication_required"
Il servizio di sincronizzazione non sincronizza i file perché l'utente deve autenticare il servizio remoto per procedere.
"temporary_unavailable"
Il servizio di sincronizzazione non sincronizza i file perché il servizio remoto non è (temporaneamente) disponibile a causa di alcuni errori recuperabili, ad esempio la rete è offline, il servizio remoto non è attivo o non è raggiungibile e così via. Ulteriori dettagli devono essere forniti dal parametro description
in OnServiceInfoUpdated (che potrebbe contenere dettagli specifici del servizio).
"disabilitato"
Il servizio di sincronizzazione è disabilitato e i contenuti non verranno mai sincronizzati. Ad esempio, ciò può verificarsi quando l'utente non ha un account sul servizio remoto o il servizio di sincronizzazione ha riscontrato un errore irrecuperabile.
StorageInfo
Proprietà
-
quotaBytes
numero
-
usageBytes
numero
SyncAction
Enum
"added"
"aggiornato"
"deleted"
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Metodi
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Recupera le norme attuali di risoluzione dei conflitti.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(policy: ConflictResolutionPolicy) => void
-
policy
-
Resi
-
Promise<ConflictResolutionPolicy>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Restituisce il FileStatus
per il fileEntry
specificato. Il valore dello stato può essere 'synced'
, 'pending'
o 'conflicting'
. Tieni presente che lo stato 'conflicting'
si verifica solo quando il criterio di risoluzione dei conflitti del servizio è impostato su 'manual'
.
Parametri
-
fileEntry
Voce
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(status: FileStatus) => void
-
stato
-
Resi
-
Promise<FileStatus>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
Restituisce ogni FileStatus
per l'array fileEntry
specificato. In genere viene chiamato con il risultato di dirReader.readEntries().
Parametri
-
fileEntries
object[]
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(status: FileStatusInfo[]) => void
-
stato
-
Resi
-
Promise<FileStatusInfo[]>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Restituisce lo stato attuale del backend di sincronizzazione.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(status: ServiceStatus) => void
-
stato
-
Resi
-
Promise<ServiceStatus
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Restituisce l'utilizzo e la quota attuali in byte per l'archiviazione di file 'syncable'
per l'app.
Parametri
-
fileSystem
DOMFileSystem
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(info: StorageInfo) => void
-
informazioni
-
Resi
-
Promise<StorageInfo>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
Restituisce un file system sincronizzabile supportato da Google Drive. L'istanza DOMFileSystem
restituita può essere utilizzata allo stesso modo dei file system temporanei e permanenti (vedi http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Se chiami questa funzione più volte dalla stessa app, verrà restituito lo stesso handle allo stesso file system.
Tieni presente che questa chiamata può non andare a buon fine. Ad esempio, se l'utente non ha eseguito l'accesso a Chrome o se non è presente alcuna operazione di rete. Per gestire questi errori, è importante controllare chrome.runtime.lastError nel callback.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Resi
-
Promise<DOMFileSystem>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Imposta il criterio di risoluzione dei conflitti predefinito per l'archiviazione dei file 'syncable'
per l'app. Per impostazione predefinita, è impostato su 'last_write_win'
. Quando il criterio di risoluzione dei conflitti è impostato su 'last_write_win'
, i conflitti per i file esistenti vengono risolti automaticamente al successivo aggiornamento del file. callback
può essere fornito facoltativamente per sapere se la richiesta è andata a buon fine o meno.
Parametri
-
policy
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
Eventi
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Attivato quando un file è stato aggiornato dal servizio di sincronizzazione in background.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(detail: FileInfo) => void
-
dettaglio
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Attivato quando si è verificato un errore o un'altra modifica dello stato nel backend di sincronizzazione (ad esempio, quando la sincronizzazione è temporaneamente disattivata a causa di un errore di rete o di autenticazione).
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(detail: ServiceInfo) => void
-
dettaglio
-