Descrição
Use a API chrome.syncFileSystem
para salvar e sincronizar dados no Google Drive. Essa API NÃO é destinada a acessar documentos arbitrários do usuário armazenados no Google Drive. Ele oferece armazenamento sincronizável específico do app para uso off-line e em cache para que os mesmos dados possam estar disponíveis em clientes diferentes. Leia Gerenciar dados para mais informações sobre como usar essa API.
Permissões
syncFileSystem
Tipos
ConflictResolutionPolicy
Tipo enumerado
"last_write_win"
"manual"
FileInfo
Propriedades
-
ação
SyncAction opcional
Ação de sincronização realizada para disparar o evento
onFileStatusChanged
. O valor da ação pode ser'added'
,'updated'
ou'deleted'
. Só se aplica se o status for'synced'
. -
direction
SyncDirection opcional
Direção de sincronização do evento
onFileStatusChanged
. O valor da direção de sincronização pode ser'local_to_remote'
ou'remote_to_local'
. Só se aplica 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. Após a exclusão do 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 do status pode ser'synced'
,'pending'
ou'conflicting'
.
FileStatus
Tipo enumerado
"synced"
Não está conflitante e não tem alterações locais pendentes.
"pending"
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
-
error
string opcional
Erro opcional que só é retornado se houver um problema na recuperação do FileStatus do arquivo fornecido.
-
fileEntry
Entrada
Um dos valores originalmente fornecidos para getFileStatuses.
-
status
O valor do status pode ser
'synced'
,'pending'
ou'conflicting'
.
ServiceInfo
Propriedades
-
descrição
string
-
state
ServiceStatus
Tipo enumerado
"initializing"
O serviço de sincronização está sendo inicializado (por exemplo, restaurando dados do banco de dados, verificando a conectividade e fazendo a autenticação no 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 continuar.
"Temporário_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 inacessível etc. Mais detalhes precisam 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. Por exemplo, isso pode acontecer 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
Tipo enumerado
SyncDirection
Tipo enumerado
"local_to_remote"
"remote_to_local"
Métodos
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
Recebe a política atual de resolução de conflitos.
Parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:(policy: ConflictResolutionPolicy) => void
-
policy
-
Retorna
-
Promise<ConflictResolutionPolicy>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
)
Retorna o FileStatus
do fileEntry
especificado. O valor do 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 optional
O parâmetro
callback
tem esta aparência:(status: FileStatus) => void
-
status
-
Retorna
-
Promise<FileStatus>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
)
Retorna cada FileStatus
da matriz fileEntry
especificada. Normalmente chamado com o resultado de dirReader.readEntries().
Parâmetros
-
fileEntries
objeto[]
-
callback
função optional
O parâmetro
callback
tem esta aparência:(status: FileStatusInfo[]) => void
-
status
-
Retorna
-
Promise<FileStatusInfo[]>
Chrome 117 ou mais recentePromessas são compatíveis apenas com 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 optional
O parâmetro
callback
tem esta aparência:(status: ServiceStatus) => void
-
status
-
Retorna
-
Promise<ServiceStatus>
Chrome 117 ou mais recentePromessas são compatíveis apenas com 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 do armazenamento de arquivos 'syncable'
do app.
Parâmetros
-
fileSystem
DOMFileSystem
-
callback
função optional
O parâmetro
callback
tem esta aparência:(info: StorageInfo) => void
-
informações
-
Retorna
-
Promise<StorageInfo>
Chrome 117 ou mais recentePromessas são compatíveis apenas com 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 maneira que os sistemas de arquivos temporários e persistentes (consulte http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Chamar esse método várias vezes no mesmo app retornará o mesmo identificador para o mesmo sistema de arquivos.
Observe que essa chamada pode falhar. Por exemplo, se o usuário não tiver feito login no Chrome ou não houver operação de rede. Para tratar esses erros, é importante que chrome.runtime.lastError seja verificado no retorno de chamada.
Parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Retorna
-
Promise<DOMFileSystem>
Chrome 117 ou mais recentePromessas são compatíveis apenas com 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 dos arquivos existentes são resolvidos automaticamente na próxima atualização do arquivo. Como opção, é possível informar callback
para saber se a solicitação foi bem-sucedida ou não.
Parâmetros
-
policy
-
callback
função optional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Disparado quando um arquivo é atualizado pelo serviço de sincronização em segundo plano.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(detail: FileInfo) => void
-
detalhe
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Disparado quando um erro ou outra alteração de status ocorre no back-end de sincronização, por exemplo, quando a sincronização está temporariamente desativada devido a um erro de rede ou de autenticação.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(detail: ServiceInfo) => void
-
detalhe
-