chrome.syncFileSystem

Descripción

Usa la API de chrome.syncFileSystem para guardar y sincronizar datos en Google Drive. Esta API NO se usa para acceder a documentos arbitrarios del usuario almacenados en Google Drive. Proporciona almacenamiento sincronizable específico de la app para el uso sin conexión y el almacenamiento en caché, de modo que los mismos datos puedan estar disponibles en diferentes clientes. Consulta Administra datos para obtener más información sobre el uso de esta API.

Permisos

syncFileSystem

Tipos

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

Propiedades

  • acción

    SyncAction opcional

    Es la acción de sincronización que se realizó para activar el evento onFileStatusChanged. El valor de la acción puede ser 'added', 'updated' o 'deleted'. Solo se aplica si el estado es 'synced'.

  • dirección

    SyncDirection opcional

    Es la dirección de sincronización del evento onFileStatusChanged. El valor de la dirección de sincronización puede ser 'local_to_remote' o 'remote_to_local'. Solo se aplica si el estado es 'synced'.

  • fileEntry

    Entrada

    fileEntry para el archivo de destino cuyo estado cambió. Contiene información del nombre y la ruta de acceso del archivo sincronizado. Cuando se borre el archivo, la información de fileEntry seguirá disponible, pero el archivo ya no existirá.

  • estado

    Es el estado del archivo resultante después del evento onFileStatusChanged. El valor de estado puede ser 'synced', 'pending' o 'conflicting'.

FileStatus

Enum

"synced"
No hay conflictos ni cambios locales pendientes.

“pendiente”
Tiene uno o más cambios locales pendientes que no se sincronizaron.

"conflicting"
El archivo entra en conflicto con la versión remota y se debe resolver manualmente.

FileStatusInfo

Propiedades

  • error

    cadena opcional

    Es un error opcional que solo se devuelve si hubo un problema para recuperar el objeto FileStatus del archivo determinado.

  • fileEntry

    Entrada

    Es una de las entradas que se proporcionaron originalmente a getFileStatuses.

  • estado

    El valor de estado puede ser 'synced', 'pending' o 'conflicting'.

ServiceInfo

Propiedades

ServiceStatus

Enum

"initializing"
Se está inicializando el servicio de sincronización (p. ej., se restauran datos de la base de datos, se verifica la conectividad y se realiza la autenticación en el servicio, etc.).

"running"
El servicio de sincronización está en funcionamiento.

"authentication_required"
El servicio de sincronización no está sincronizando archivos porque el usuario debe autenticar el servicio remoto para continuar.

"temporary_unavailable"
El servicio de sincronización no sincroniza archivos porque el servicio remoto no está disponible (temporalmente) debido a algunos errores recuperables, p.ej., la red está sin conexión, el servicio remoto está inactivo o no se puede acceder a él, etc. El parámetro description en OnServiceInfoUpdated debería proporcionar más detalles (que podrían contener detalles específicos del servicio).

"disabled"
El servicio de sincronización está inhabilitado y el contenido nunca se sincronizará. (p.ej., esto podría suceder cuando el usuario no tiene una cuenta en el servicio remoto o el servicio de sincronización tuvo un error irrecuperable).

StorageInfo

Propiedades

  • quotaBytes

    número

  • usageBytes

    número

SyncAction

Enum

"added"

"updated"

"deleted"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

Métodos

getConflictResolutionPolicy()

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

Obtiene la política de resolución de conflictos actual.

Parámetros

Muestra

  • Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getFileStatus()

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

Devuelve el FileStatus para el fileEntry determinado. El valor de estado puede ser 'synced', 'pending' o 'conflicting'. Ten en cuenta que el estado 'conflicting' solo se produce cuando la política de resolución de conflictos del servicio se establece en 'manual'.

Parámetros

  • fileEntry

    Entrada

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (status: FileStatus) => void

Muestra

  • Promise<FileStatus>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getFileStatuses()

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

Devuelve cada FileStatus para el array fileEntry determinado. Por lo general, se llama con el resultado de dirReader.readEntries().

Parámetros

  • fileEntries

    object[]

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (status: FileStatusInfo[]) => void

Muestra

  • Promise<FileStatusInfo[]>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getServiceStatus()

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

Devuelve el estado actual del backend de sincronización.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (status: ServiceStatus) => void

Muestra

  • Promise<ServiceStatus>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getUsageAndQuota()

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

Devuelve el uso y la cuota actuales en bytes para el almacenamiento de archivos 'syncable' de la app.

Parámetros

  • fileSystem

    DOMFileSystem

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (info: StorageInfo) => void

Muestra

  • Promise<StorageInfo>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

requestFileSystem()

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

Devuelve un sistema de archivos sincronizable respaldado por Google Drive. La instancia DOMFileSystem que se devuelve se puede operar de la misma manera que los sistemas de archivos temporales y persistentes (consulta http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Si se llama a esta función varias veces desde la misma app, se devolverá el mismo identificador para el mismo sistema de archivos.

Ten en cuenta que esta llamada puede fallar. Por ejemplo, si el usuario no accedió a Chrome o si no hay ninguna operación de red. Para controlar estos errores, es importante verificar chrome.runtime.lastError en la devolución de llamada.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Muestra

  • Promise<DOMFileSystem>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

setConflictResolutionPolicy()

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

Establece la política de resolución de conflictos predeterminada para el almacenamiento de archivos 'syncable' de la app. De forma predeterminada, se establece en 'last_write_win'. Cuando la política de resolución de conflictos se establece en 'last_write_win', los conflictos de los archivos existentes se resuelven automáticamente la próxima vez que se actualice el archivo. callback se puede proporcionar de forma opcional para saber si la solicitud se realizó correctamente o no.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

Eventos

onFileStatusChanged

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

Se activa cuando el servicio de sincronización en segundo plano actualiza un archivo.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (detail: FileInfo) => void

onServiceStatusChanged

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

Se activa cuando se produce un error o algún otro cambio de estado en el backend de sincronización (por ejemplo, cuando la sincronización se inhabilita temporalmente debido a un error de red o de autenticación).

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (detail: ServiceInfo) => void