chrome.syncFileSystem

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 de fileEntry 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

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()

Promessa
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

Recebe a política de resolução de conflitos atual.

Parâmetros

Retorna

  • Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getFileStatus()

Promessa
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

Retorna

  • Promise<FileStatus>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getFileStatuses()

Promessa
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

Retorna

  • Promise<FileStatusInfo[]>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getServiceStatus()

Promessa
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

Retorna o status atual do back-end de sincronização.

Parâmetros

Retorna

  • Promessa<ServiceStatus>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getUsageAndQuota()

Promessa
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

Retorna

  • Promise<StorageInfo>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

requestFileSystem()

Promessa
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setConflictResolutionPolicy()

Promessa
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

Retorna

  • Promise<void>

    Chrome 117 e versões mais recentes

    As 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

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