Descrição
Use a API chrome.syncFileSystem para salvar e sincronizar dados no Google Drive. Essa API NÃO serve para acessar documentos arbitrários de usuários armazenados no Google Drive. Ele fornece armazenamento sincronizável específico do app para uso off-line e de armazenamento em 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
syncFileSystemTipos
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'. Só se aplica se o status for'synced'. -
direção
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
fileEntrydo arquivo de destino cujo status foi alterado. Contém informações de nome e caminho do arquivo sincronizado. Ao excluir o arquivo, as informações defileEntryainda estarão disponíveis, mas o arquivo não vai mais existir. -
status
Status do arquivo resultante após o evento
onFileStatusChanged. O valor do status pode ser'synced','pending'ou'conflicting'.
FileStatus
Enumeração
"synced"
Não está em conflito e não tem mudanças locais pendentes.
"pending"
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 que só é retornado se houver um problema ao recuperar o FileStatus do arquivo em questão.
-
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 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 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 não pode ser acessado 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 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 de resolução de conflitos atual.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(policy: ConflictResolutionPolicy) => void
-
política
-
Retorna
-
Promise<ConflictResolutionPolicy>
Chrome 117+As 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 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 está definida como 'manual'.
Parâmetros
-
fileEntry
Entrada
-
callback
função optional
O parâmetro
callbacké semelhante a:(status: FileStatus) => void
-
status
-
Retorna
-
Promise<FileStatus>
Chrome 117+As 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 fornecida. Normalmente chamado com o resultado de dirReader.readEntries().
Parâmetros
-
fileEntries
object[]
-
callback
função optional
O parâmetro
callbacké semelhante a:(status: FileStatusInfo[]) => void
-
status
-
Retorna
-
Promise<FileStatusInfo[]>
Chrome 117+As 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 optional
O parâmetro
callbacké semelhante a:(status: ServiceStatus) => void
-
status
-
Retorna
-
Promise<ServiceStatus>
Chrome 117+As 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 para o armazenamento de arquivos 'syncable' do app.
Parâmetros
-
fileSystem
DOMFileSystem
-
callback
função optional
O parâmetro
callbacké semelhante a:(info: StorageInfo) => void
-
informações
-
Retorna
-
Promise<StorageInfo>
Chrome 117+As 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 o 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 isso 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 lidar com esses erros, é importante que chrome.runtime.lastError seja verificado no callback.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Retorna
-
Promise<DOMFileSystem>
Chrome 117+As 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 padrão de resolução de conflitos 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 for 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 optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 117+As 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é semelhante a:(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 é temporariamente desativada devido a um erro de rede ou autenticação).
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(detail: ServiceInfo) => void
-
detalhe
-