chrome.syncFileSystem

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

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

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

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

Parâmetros

Retorna

  • Chrome 117 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getFileStatus()

Promessa
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

Retorna

  • Promise<FileStatus>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com 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 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

Retorna

  • Promise<FileStatusInfo[]>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com 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

  • Promise<ServiceStatus>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com 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 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

Retorna

  • Promise<StorageInfo>

    Chrome 117 ou mais recente

    Promessas são compatíveis apenas com 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 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 recente

    Promessas são compatíveis apenas com 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 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

Retorna

  • Promise<void>

    Chrome 117 ou mais recente

    Promessas 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

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