Descrição
Use a API chrome.syncFileSystem
para salvar e sincronizar dados no Google Drive. Essa API NÃO é para acessar documentos de usuários arbitrários armazenados no Google Drive. Ele oferece armazenamento sincronizável específico do app para uso off-line e de armazenamento em cache, para que os mesmos dados estejam disponíveis em diferentes clientes. Leia Gerenciar dados para saber mais sobre o uso dessa API.
Permissões
syncFileSystem
Tipos
ConflictResolutionPolicy
Enumeração
"last_write_win"
"manual"
FileInfo
Propriedades
-
ação
SyncAction opcional
Ação de sincronização realizada para acionar o evento
onFileStatusChanged
. O valor da ação pode ser'added'
,'updated'
ou'deleted'
. Aplicável apenas se o status for'synced'
. -
direção
SyncDirection opcional
Sincronize a direção do evento
onFileStatusChanged
. O valor da direção de sincronização pode ser'local_to_remote'
ou'remote_to_local'
. Aplicável apenas se o status for'synced'
. -
fileEntry
Entrada
fileEntry
para o arquivo de destino cujo status foi alterado. Contém informações de nome e caminho do arquivo sincronizado. Ao excluir um arquivo, as informações defileEntry
ainda estarão disponíveis, mas o arquivo não existirá mais. -
status
Status do arquivo resultante após o evento
onFileStatusChanged
. O valor de status pode ser'synced'
,'pending'
ou'conflicting'
.
FileStatus
Enumeração
"Sincronizado"
não conflita e não tem alterações locais pendentes.
"pendente"
Tem uma ou mais alterações locais pendentes que não foram sincronizadas.
"conflicting"
O arquivo está em conflito com a versão remota e precisa ser resolvido manualmente.
FileStatusInfo
Propriedades
-
erro
string opcional
Erro opcional que só é retornado se houver um problema ao recuperar o FileStatus do arquivo fornecido.
-
fileEntry
Entrada
Uma das entradas originalmente fornecidas para getFileStatuses.
-
status
O valor de status pode ser
'synced'
,'pending'
ou'conflicting'
.
ServiceInfo
Propriedades
-
descrição
string
-
estado
ServiceStatus
Enumeração
"initializing"
O serviço de sincronização está sendo inicializado (por exemplo, restaurando dados do banco de dados, verificando a conectividade e autenticando o serviço etc.).
"running"
O serviço de sincronização está em execução.
"authentication_required"
O serviço de sincronização não está sincronizando arquivos porque o serviço remoto precisa ser autenticado pelo usuário para prosseguir.
"temporary_unavailable"
O serviço de sincronização não está sincronizando arquivos porque o serviço remoto está (temporariamente) indisponível devido a alguns erros recuperáveis, por exemplo, a rede está off-line, o serviço remoto está inativo ou não pode ser acessado. Mais detalhes podem ser fornecidos pelo parâmetro description
em OnServiceInfoUpdated, que pode conter detalhes específicos do serviço.
"desativado"
O serviço de sincronização está desativado e o conteúdo nunca será sincronizado. Isso pode acontecer, por exemplo, quando o usuário não tem uma conta no serviço remoto ou quando o serviço de sincronização teve um erro irrecuperável.
StorageInfo
Propriedades
-
quotaBytes
number
-
usageBytes
number
SyncAction
Enumeração
"added"
"updated"
"deleted"
SyncDirection
Enumeração
"local_to_remote"
"remote_to_local"
Métodos
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
Recebe a política de resolução de conflitos atual.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(policy: ConflictResolutionPolicy) => void
-
política
-
Retorna
-
Promise<ConflictResolutionPolicy>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
)
Retorna FileStatus
para o fileEntry
fornecido. O valor de status pode ser 'synced'
, 'pending'
ou 'conflicting'
. O estado 'conflicting'
só acontece quando a política de resolução de conflitos do serviço está definida como 'manual'
.
Parâmetros
-
fileEntry
Entrada
-
callback
função opcional
O parâmetro
callback
tem este formato:(status: FileStatus) => void
-
status
-
Retorna
-
Promise<FileStatus>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
Retorna cada FileStatus
para a matriz fileEntry
especificada. Normalmente chamado com o resultado de dirReader.readEntries().
Parâmetros
-
fileEntries
object[]
-
callback
função opcional
O parâmetro
callback
tem este formato:(status: FileStatusInfo[]) => void
-
status
-
Retorna
-
Promise<FileStatusInfo[]>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
)
Retorna o status atual do back-end de sincronização.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(status: ServiceStatus) => void
-
status
-
Retorna
-
Promessa<ServiceStatus>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
)
Retorna o uso e a cota atuais em bytes para o armazenamento de arquivos 'syncable'
do app.
Parâmetros
-
fileSystem
DOMFileSystem
-
callback
função opcional
O parâmetro
callback
tem este formato:(info: StorageInfo) => void
-
informações
-
Retorna
-
Promise<StorageInfo>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
)
Retorna um sistema de arquivos sincronizável com suporte do Google Drive. A instância DOMFileSystem
retornada pode ser operada da mesma forma que os sistemas de arquivos temporários e persistentes (consulte http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Chamar essa função várias vezes no mesmo app vai retornar o mesmo identificador para o mesmo sistema de arquivos.
Essa chamada pode falhar. Por exemplo, se o usuário não estiver conectado ao Chrome ou se não houver operação de rede. Para processar esses erros, é importante que o chrome.runtime.lastError seja verificado no callback.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Retorna
-
Promise<DOMFileSystem>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
)
Define a política de resolução de conflitos padrão para o armazenamento de arquivos 'syncable'
do app. Por padrão, ela é definida como 'last_write_win'
. Quando a política de resolução de conflitos é definida como 'last_write_win'
, os conflitos de arquivos existentes são resolvidos automaticamente na próxima atualização do arquivo. O callback
pode ser fornecido opcionalmente para saber se a solicitação foi bem-sucedida ou não.
Parâmetros
-
política
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
É acionado quando um arquivo é atualizado pelo serviço de sincronização em segundo plano.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(detail: FileInfo) => void
-
detalhe
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
É acionado quando ocorre um erro ou outra mudança de status no back-end de sincronização. Por exemplo, quando a sincronização é desativada temporariamente devido a um erro de rede ou de autenticação.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(detail: ServiceInfo) => void
-
detalhe
-