chrome.syncFileSystem

Description

Utilisez l'API chrome.syncFileSystem pour enregistrer et synchroniser des données sur Google Drive. Cette API n'est PAS destinée à accéder à des documents utilisateur arbitraires stockés dans Google Drive. Il fournit un stockage synchronisable spécifique à l'application pour une utilisation hors connexion et de mise en cache, afin que les mêmes données soient disponibles sur différents clients. Pour en savoir plus sur l'utilisation de cette API, consultez Gérer les données.

Autorisations

syncFileSystem

Types

ConflictResolutionPolicy

Énumération

"last_write_win"

"manual"

FileInfo

Propriétés

  • action

    SyncAction facultatif

    Action de synchronisation effectuée pour déclencher l'événement onFileStatusChanged. La valeur de l'action peut être 'added', 'updated' ou 'deleted'. Ne s'applique que si l'état est 'synced'.

  • direction

    SyncDirection facultatif

    Sens de la synchronisation pour l'événement onFileStatusChanged. La valeur de la direction de la synchronisation peut être 'local_to_remote' ou 'remote_to_local'. Ne s'applique que si l'état est 'synced'.

  • fileEntry

    Entrée

    fileEntry pour le fichier cible dont l'état a changé. Contient le nom et le chemin d'accès du fichier synchronisé. Lorsque vous supprimez un fichier, les informations fileEntry restent disponibles, mais le fichier n'existe plus.

  • état

    État du fichier après l'événement onFileStatusChanged. La valeur de l'état peut être 'synced', 'pending' ou 'conflicting'.

FileStatus

Énumération

Synchronisé
Aucun conflit ni aucune modification locale en attente.

En attente
Une ou plusieurs modifications locales en attente n'ont pas été synchronisées.

"conflicting"
Le fichier est en conflit avec la version distante et doit être résolu manuellement.

FileStatusInfo

Propriétés

  • erreur

    chaîne facultative

    Erreur facultative qui n'est renvoyée que si un problème est survenu lors de la récupération de FileStatus pour le fichier donné.

  • fileEntry

    Entrée

    L'une des entrées initialement fournies à getFileStatuses.

  • état

    La valeur de l'état peut être 'synced', 'pending' ou 'conflicting'.

ServiceInfo

Propriétés

ServiceStatus

Énumération

"initialisation"
Le service de synchronisation est en cours d'initialisation (par exemple, restauration des données à partir de la base de données, vérification de la connectivité et authentification auprès du service, etc.).

"running"
Le service de synchronisation est opérationnel.

"authentication_required"
Le service de synchronisation ne synchronise pas les fichiers, car le service distant doit être authentifié par l'utilisateur pour continuer.

"temporary_unavailable"
Le service de synchronisation ne synchronise pas les fichiers, car le service distant est (temporairement) indisponible en raison de certaines erreurs récupérables (par exemple, le réseau est hors connexion, le service distant est en panne ou injoignable, etc.). Des informations plus détaillées doivent être fournies par le paramètre description dans OnServiceInfoUpdated (qui peut contenir des informations spécifiques au service).

"disabled"
Le service de synchronisation est désactivé et le contenu ne sera jamais synchronisé. (Par exemple, cela peut se produire lorsque l'utilisateur n'a pas de compte sur le service distant ou que le service de synchronisation a rencontré une erreur irrécupérable.)

StorageInfo

Propriétés

  • quotaBytes

    Total

  • usageBytes

    Total

SyncAction

Énumération

"added"

"updated"

"deleted"

SyncDirection

Énumération

"local_to_remote"

"remote_to_local"

Méthodes

getConflictResolutionPolicy()

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

Obtient la stratégie de résolution des conflits actuelle.

Paramètres

Renvoie

  • Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getFileStatus()

Promise
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)
: Promise<FileStatus>

Renvoie les FileStatus pour le fileEntry donné. La valeur de l'état peut être 'synced', 'pending' ou 'conflicting'. Notez que l'état 'conflicting' ne se produit que lorsque la règle de résolution des conflits du service est définie sur 'manual'.

Paramètres

  • fileEntry

    Entrée

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (status: FileStatus) => void

Renvoie

  • Promise<FileStatus>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getFileStatuses()

Promise
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)
: Promise<FileStatusInfo[]>

Renvoie chaque FileStatus pour le tableau fileEntry donné. Généralement appelé avec le résultat de dirReader.readEntries().

Paramètres

  • fileEntries

    object[]

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (status: FileStatusInfo[]) => void

Renvoie

  • Promise<FileStatusInfo[]>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getServiceStatus()

Promise
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

Renvoie l'état actuel du backend de synchronisation.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (status: ServiceStatus) => void

Renvoie

  • Promise<ServiceStatus>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getUsageAndQuota()

Promise
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)
: Promise<StorageInfo>

Renvoie l'utilisation et le quota actuels en octets pour le stockage de fichiers 'syncable' de l'application.

Paramètres

  • fileSystem

    DOMFileSystem

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (info: StorageInfo) => void

Renvoie

  • Promise<StorageInfo>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

requestFileSystem()

Promise
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)
: Promise<DOMFileSystem>

Renvoie un système de fichiers synchronisable avec Google Drive. L'instance DOMFileSystem renvoyée peut être utilisée de la même manière que les systèmes de fichiers temporaires et persistants (voir http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

L'appel de cette fonction plusieurs fois à partir de la même application renvoie le même handle au même système de fichiers.

Notez que cet appel peut échouer. Par exemple, si l'utilisateur n'est pas connecté à Chrome ou s'il n'y a pas d'opération réseau. Pour gérer ces erreurs, il est important de vérifier chrome.runtime.lastError dans le rappel.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Renvoie

  • Promise<DOMFileSystem>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

setConflictResolutionPolicy()

Promise
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)
: Promise<void>

Définit la règle de résolution des conflits par défaut pour le stockage de fichiers 'syncable' de l'application. Par défaut, elle est définie sur 'last_write_win'. Lorsque la stratégie de résolution des conflits est définie sur 'last_write_win', les conflits pour les fichiers existants sont automatiquement résolus la prochaine fois que le fichier est mis à jour. callback peut être fourni de manière facultative pour savoir si la requête a abouti ou non.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 117 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onFileStatusChanged

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

Déclenché lorsqu'un fichier a été mis à jour par le service de synchronisation en arrière-plan.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (detail: FileInfo) => void

onServiceStatusChanged

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

Déclenché lorsqu'une erreur ou un autre changement d'état s'est produit dans le backend de synchronisation (par exemple, lorsque la synchronisation est temporairement désactivée en raison d'une erreur de réseau ou d'authentification).

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (detail: ServiceInfo) => void