Descripción
Usa la API de chrome.syncFileSystem para guardar y sincronizar datos en Google Drive. Esta API NO sirve para acceder a documentos arbitrarios de los usuarios 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. Lee Administra datos para obtener más información sobre cómo usar esta API.
Permisos
syncFileSystemTipos
ConflictResolutionPolicy
Enum
"last_write_win"
"manual"
FileInfo
Propiedades
-
acción
SyncAction opcional
Se realizó una acción síncrona 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
fileEntrypara el archivo de destino cuyo estado cambió. Contiene información sobre el nombre y la ruta de acceso del archivo sincronizado. Cuando se borre el archivo, la información defileEntryseguirá 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 tiene conflictos ni 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 se debe resolver de forma manual.
FileStatusInfo
Propiedades
-
error
string opcional
Es un error opcional que solo se devuelve si hubo un problema para recuperar el FileStatus del archivo determinado.
-
fileEntry
Entrada
Uno de los objetos Entry que se proporcionaron originalmente a getFileStatuses.
-
estado
El valor de estado puede ser
'synced','pending'o'conflicting'.
ServiceInfo
Propiedades
-
descripción
string
-
state
ServiceStatus
Enum
"initializing"
Se está inicializando el servicio de sincronización (p.ej., se están restableciendo los datos de la base de datos, se está verificando la conectividad y se está autenticando el servicio, etcétera).
"running"
El servicio de sincronización está en funcionamiento.
"authentication_required"
El servicio de sincronización no está sincronizando archivos porque el servicio remoto necesita que el usuario lo autentique para continuar.
"temporary_unavailable"
El servicio de sincronización no está sincronizando 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 (que podría contener detalles específicos del servicio) debería proporcionar más detalles.
"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()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Obtiene la política de resolución de conflictos actual.
Parámetros
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(policy: ConflictResolutionPolicy) => void
-
política
-
Muestra
-
Promise<ConflictResolutionPolicy>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getFileStatus()
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
callbackse ve de la siguiente manera:(status: FileStatus) => void
-
estado
-
Muestra
-
Promise<FileStatus>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getFileStatuses()
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
callbackse ve de la siguiente manera:(status: FileStatusInfo[]) => void
-
estado
-
Muestra
-
Promise<FileStatusInfo[]>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getServiceStatus()
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
callbackse ve de la siguiente manera:(status: ServiceStatus) => void
-
estado
-
Muestra
-
Promise<ServiceStatus>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Devuelve el uso y la cuota actuales en bytes para el almacenamiento de archivos de 'syncable' de la app.
Parámetros
-
fileSystem
DOMFileSystem
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(info: StorageInfo) => void
-
información
-
Muestra
-
Promise<StorageInfo>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
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 a este método varias veces desde la misma app, se devolverá el mismo controlador 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 que se verifique chrome.runtime.lastError en la devolución de llamada.
Parámetros
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Muestra
-
Promise<DOMFileSystem>
Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Establece la política predeterminada de resolución de conflictos 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 actualiza el archivo. De manera opcional, se puede proporcionar callback para saber si la solicitud se completó correctamente o no.
Parámetros
-
política
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 117 y versiones posterioresLas 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
callbackse ve de la siguiente manera:(detail: FileInfo) => void
-
detalle
-
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
callbackse ve de la siguiente manera:(detail: ServiceInfo) => void
-
detalle
-