Descripción
Usa la API de chrome.syncFileSystem
para guardar y sincronizar datos en Google Drive. Esta API NO permite acceder a documentos de usuario arbitrarios almacenados en Google Drive. Proporciona almacenamiento sincronizable específico de la app para su uso sin conexión y de almacenamiento en caché, de modo que los mismos datos puedan estar disponibles en diferentes clientes. Lee Administrar datos para obtener más información sobre el uso de esta API.
Permisos
syncFileSystem
Tipos
ConflictResolutionPolicy
Enum
"last_write_win"
FileInfo
Propiedades
-
acción
SyncAction opcional
Se realizó una acción de sincronización 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'
. -
direction
SyncDirection (opcional)
Dirección de sincronización del evento
onFileStatusChanged
. El valor de 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 el nombre y la información de la ruta de acceso del archivo sincronizado. Cuando se borre el archivo, la información defileEntry
seguirá disponible, pero este dejará de existir. -
status
Estado del archivo resultante después del evento
onFileStatusChanged
El valor de estado puede ser'synced'
,'pending'
o'conflicting'
.
FileStatus
Enum
"sincronizado"
No hay conflicto y no tiene cambios locales pendientes.
"pending"
Tiene uno o más cambios locales pendientes que no se sincronizaron.
"conflicting"
El archivo entra en conflicto con la versión remota y debe resolverse manualmente.
FileStatusInfo
Propiedades
-
error
cadena opcional
Error opcional que solo se muestra si hubo un problema al recuperar el FileStatus del archivo determinado.
-
fileEntry
Entrada
Una de las entradas que se dio originalmente a getFileStatuses.
-
status
El valor de estado puede ser
'synced'
,'pending'
o'conflicting'
.
ServiceInfo
Propiedades
-
descripción
cadena
-
state
ServiceStatus
Enum
"initializing"
Se está inicializando el servicio de sincronización (p.ej., restablecer datos de la base de datos, verificar la conectividad y autenticar en el servicio, etcétera).
"running"
El servicio de sincronización está funcionando.
"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 está sincronizando archivos porque el servicio remoto no está disponible (de manera temporal) debido a algunos errores recuperables, p.ej., la red está sin conexión, el servicio remoto está inactivo o no se puede acceder, etc. Se deben proporcionar más detalles con el parámetro description
en OnServiceInfoUpdated (que podría contener detalles específicos del servicio).
"inhabilitado"
El servicio de sincronización está inhabilitado y el contenido nunca se sincronizará. (p.ej., esto puede ocurrir cuando el usuario no tiene una cuenta en el servicio remoto o cuando el servicio de sincronización experimenta un error irrecuperable).
StorageInfo
Propiedades
-
quotaBytes
número
-
usageBytes
número
SyncAction
Enum
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Métodos
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
Obtiene la política de resolución de conflictos actual.
Parámetros
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(policy: ConflictResolutionPolicy) => void
-
policy
-
Devuelve
-
Promise<ConflictResolutionPolicy>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
)
Muestra FileStatus
para el fileEntry
determinado. El valor de estado puede ser 'synced'
, 'pending'
o 'conflicting'
. Ten en cuenta que el estado 'conflicting'
solo ocurre 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
-
status
-
Devuelve
-
Promise<FileStatus>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
Muestra cada FileStatus
para el array fileEntry
determinado. Por lo general, se llama con el resultado de dirReader.readEntries().
Parámetros
-
fileEntries
objeto
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(status: FileStatusInfo[]) => void
-
status
-
Devuelve
-
Promise<FileStatusInfo[]>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
)
Muestra el estado del backend de sincronización actual.
Parámetros
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(status: ServiceStatus) => void
-
status
-
Devuelve
-
Promise<ServiceStatus>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
)
Muestra 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
-
info
-
Devuelve
-
Promise<StorageInfo>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
)
Devuelve un sistema de archivos sincronizable respaldado por Google Drive. La instancia DOMFileSystem
que se muestra 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 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 operaciones de red. Para solucionar estos errores, es importante que se verifique 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
-
Devuelve
-
Promise<DOMFileSystem>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
)
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'
. Si estableces la política de resolución de conflictos en 'last_write_win'
, los conflictos de los archivos existentes se resolverán automáticamente la próxima vez que se actualice. De manera opcional, se puede proporcionar callback
para saber si la solicitud se realizó correctamente o no.
Parámetros
-
policy
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con 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
la función
El parámetro
callback
se ve de la siguiente manera:(detail: FileInfo) => void
-
detalle
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Se activa cuando ocurre 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
la función
El parámetro
callback
se ve de la siguiente manera:(detail: ServiceInfo) => void
-
detalle
-