chrome.syncFileSystem

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 informazioni fileEntry 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à

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()

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

Recupera le norme attuali di risoluzione dei conflitti.

Parametri

Resi

  • Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getFileStatus()

Promessa
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

Resi

  • Promise<FileStatus>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getFileStatuses()

Promessa
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

Resi

  • Promise<FileStatusInfo[]>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getServiceStatus()

Promessa
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

Resi

  • Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

getUsageAndQuota()

Promessa
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

Resi

  • Promise<StorageInfo>

    Chrome 117+

    Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.

requestFileSystem()

Promessa
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()

Promessa
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

  • 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

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