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 fornece armazenamento sincronizável específico do app para uso off-line e em cache, de modo que os mesmos dados possam estar 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"
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'
. Aplicável somente se o status for'synced'
. -
direção
SyncDirection opcional
Direção de sincronização para o evento
onFileStatusChanged
. O valor da direção de sincronização pode ser'local_to_remote'
ou'remote_to_local'
. Aplicável somente se o status for'synced'
. -
fileEntry
Entrada
fileEntry
para o arquivo de destino que teve o status 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 é conflitante e não tem alterações locais pendentes.
"pendente"
Tem uma ou mais alterações locais pendentes que não foram sincronizadas.
"conflito"
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
Um dos Entry originalmente fornecido para getFileStatuses.
-
status
O valor do status pode ser
'synced'
,'pending'
ou'conflicting'
.
ServiceInfo
Propriedades
-
descrição
string
-
estado
ServiceStatus
Enumeração
"inicializando"
O serviço de sincronização está sendo inicializado (por exemplo, restaurando dados do banco de dados, verificando a conectividade e autenticando no serviço).
"running"
O serviço de sincronização está funcionando.
"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.
"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, como a rede está off-line, o serviço remoto está fora do ar, inacessível etc. Mais detalhes devem 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
"updated"
"deleted"
SyncDirection
Enumeração
"local_to_remote"
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 esta aparência:(policy: ConflictResolutionPolicy) => void
-
política
-
Retorna
-
Promise<ConflictResolutionPolicy>
Chrome 117 e versões mais recentesAs promessas só são compatíveis com o Manifesto 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 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 é 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 só são compatíveis com o Manifesto 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 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 só são compatíveis com o Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
)
Retorna o uso atual e a cota 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 ou 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 ou 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 atuais 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
-
Promessa<void>
Chrome 117 ou versões mais recentesAs promessas só são compatíveis com o Manifesto 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,
)
É 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 esta aparência:(detail: ServiceInfo) => void
-
detalhe
-