Descrição
Use a API chrome.syncFileSystem
para salvar e sincronizar dados no Google Drive. Essa API NÃO é para 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 de cache, de modo que os mesmos dados possam estar disponíveis em diferentes clientes. Leia Gerenciar dados para saber mais sobre como usar essa 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 disparar 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
Direção da sincronização para o evento
onFileStatusChanged
. O valor da direção da 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. Quando um arquivo é excluído, as informações dofileEntry
ainda ficam disponíveis, mas o arquivo não existe mais. -
status
Status do arquivo resultante após o evento
onFileStatusChanged
. O valor do status pode ser'synced'
,'pending'
ou'conflicting'
.
FileStatus
Enumeração
"sincronizado"
Não está em conflito e não tem mudanças locais pendentes.
"pendente"
Tem uma ou mais mudanças locais pendentes que não foram sincronizadas.
"conflicting"
O arquivo entra em conflito com a versão remota e precisa ser resolvido manualmente.
FileStatusInfo
Propriedades
-
erro
string opcional
Erro opcional retornado apenas se houver um problema ao recuperar o FileStatus do arquivo especificado.
-
fileEntry
Entrada
Uma das entradas originalmente fornecidas para getFileStatuses.
-
status
O valor do 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 no serviço etc.).
"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 continuar.
"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 inacessível etc. Mais detalhes devem ser fornecidos pelo parâmetro description
em OnServiceInfoUpdated, que pode conter detalhes específicos do serviço.
"disabled"
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
número
-
usageBytes
número
SyncAction
Enumeração
"added"
"updated"
"deleted"
SyncDirection
Enumeração
"local_to_remote"
"remote_to_local"
Métodos
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Recebe a política atual de resolução de conflitos.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(policy: ConflictResolutionPolicy) => void
-
política
-
Retorna
-
Promise<ConflictResolutionPolicy>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Retorna o FileStatus
para o fileEntry
especificado. O valor do status pode ser 'synced'
, 'pending'
ou 'conflicting'
. O estado 'conflicting'
só ocorre 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 esta aparência:(status: FileStatus) => void
-
status
-
Retorna
-
Promise<FileStatus>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
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 esta aparência:(status: FileStatusInfo[]) => void
-
status
-
Retorna
-
Promise<FileStatusInfo[]>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Retorna o status atual do back-end de sincronização.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(status: ServiceStatus) => void
-
status
-
Retorna
-
Promise<ServiceStatus>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Retorna o uso e a cota atuais em bytes do armazenamento de arquivos 'syncable'
para o app.
Parâmetros
-
fileSystem
DOMFileSystem
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(info: StorageInfo) => void
-
informações
-
Retorna
-
Promise<StorageInfo>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
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 permanentes (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 fez login no Chrome ou se não há uma operação de rede. Para lidar com esses erros, é importante verificar chrome.runtime.lastError no callback.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Retorna
-
Promise<DOMFileSystem>
Chrome 117 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
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 vez que o arquivo é atualizado. 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 esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recenteAs promessas só são compatíveis com 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 esta aparência:(detail: FileInfo) => void
-
detalhe
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Disparado 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
-