chrome.syncFileSystem

Descrizione

Utilizza l'API chrome.syncFileSystem per salvare e sincronizzare i dati su Google Drive. Questa API NON consente di accedere ai documenti utente arbitrari archiviati su Google Drive. Offre spazio di archiviazione sincronizzabile specifico per le app per l'utilizzo offline e di memorizzazione nella cache, in modo che gli stessi dati possano essere disponibili in diversi client. Per saperne di più sull'utilizzo di questa API, consulta Gestione dei dati.

Autorizzazioni

syncFileSystem

Tipi

ConflictResolutionPolicy

Enum

FileInfo

Proprietà

  • azione

    SyncAction facoltativo

    Azione di sincronizzazione eseguita per attivare l'evento onFileStatusChanged. Il valore dell'azione può essere 'added', 'updated' o 'deleted'. Si applica solo se lo stato è 'synced'.

  • direction

    SyncDirection facoltativo

    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 è stato modificato. Contiene il nome e le informazioni sul percorso del file sincronizzato. Al momento dell'eliminazione del file, le informazioni relative a fileEntry saranno ancora disponibili, ma il file non esisterà più.

  • status

    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 non presenta modifiche locali in attesa.

"pending"
Presenta 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 facoltativo

    Errore facoltativo che viene restituito solo se si è verificato un problema durante il recupero di FileStatus per il file specificato.

  • fileEntry

    Voce

    Una delle voci è inizialmente assegnata a getFileStatuses.

  • status

    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à, 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é il servizio remoto deve essere autenticato dall'utente per procedere.

"temporaneamente_unavailable"
Il servizio di sincronizzazione non sincronizza i file perché il servizio remoto non è (temporaneamente) disponibile a causa di alcuni errori risolvibili, ad esempio la rete è offline, il servizio remoto non è disponibile o non è raggiungibile e così via. Ulteriori dettagli dovrebbero essere forniti dal parametro description in OnServiceInfoUpdated (che potrebbe contenere dettagli specifici del servizio).

"disattivato"
Il servizio di sincronizzazione è disattivato e i contenuti non verranno mai sincronizzati. Ad esempio, questo può accadere quando l'utente non ha un account sul servizio remoto o si è verificato un errore irreversibile con il servizio di sincronizzazione.

StorageInfo

Proprietà

  • quotaBytes

    numero

  • usageBytes

    numero

SyncAction

Enum

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

Metodi

getConflictResolutionPolicy()

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

Recupera l'attuale criterio per la risoluzione dei conflitti.

Parametri

Ritorni

  • Chrome 117 e versioni successive

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

getFileStatus()

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

Restituisce FileStatus per il valore 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

Ritorni

  • Promise<FileStatus>

    Chrome 117 e versioni successive

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

getFileStatuses()

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

Restituisce ogni FileStatus per l'array fileEntry specificato. Generalmente viene chiamato con il risultato da dirReader.readEntries().

Parametri

  • fileEntries

    oggetto[]

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (status: FileStatusInfo[])=>void

Ritorni

  • Promise<FileStatusInfo[]>

    Chrome 117 e versioni successive

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

getServiceStatus()

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

Restituisce lo stato attuale del backend di sincronizzazione.

Parametri

Ritorni

  • Promise<ServiceStatus>

    Chrome 117 e versioni successive

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

getUsageAndQuota()

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

Restituisce l'utilizzo corrente e la quota, in byte, per l'archiviazione dei file 'syncable' per l'app.

Parametri

  • fileSystem

    DOMFileSystem

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (info: StorageInfo)=>void

Ritorni

  • Promise<StorageInfo>

    Chrome 117 e versioni successive

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

requestFileSystem()

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

Restituisce un file system sincronizzabile supportato da Google Drive. L'istanza DOMFileSystem restituita può essere utilizzata allo stesso modo dei file system temporanei e persistenti (vedi http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Se chiami più volte dalla stessa app, lo stesso handle verrà restituito allo stesso file system.

Tieni presente che questa chiamata potrebbe non riuscire. ad esempio se l'utente non ha eseguito l'accesso a Chrome o se non è in corso un'operazione di rete. Per gestire questi errori, nel callback è importante controllare chrome.runtime.lastError.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (fileSystem: DOMFileSystem)=>void

    • fileSystem

      DOMFileSystem

Ritorni

  • Promise<DOMFileSystem>

    Chrome 117 e versioni successive

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

setConflictResolutionPolicy()

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

Consente di impostare il criterio di risoluzione dei conflitti predefinito per l'archiviazione dei file 'syncable' dell'app. Per impostazione predefinita è impostato su 'last_write_win'. Se 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. Facoltativamente, puoi specificare callback per sapere se la richiesta è andata a buon fine o meno.

Parametri

Ritorni

  • Promise<void>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; 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