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

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

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 só são compatíveis com o Manifesto 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 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

Retorna

  • Promise<FileStatus>

    Chrome 117 e versões mais recentes

    As promessas só são compatíveis com o Manifesto 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 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 só são compatíveis com o Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getUsageAndQuota()

Promessa
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

Retorna

  • Promise<StorageInfo>

    Chrome 117 ou 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 ou 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 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

Retorna

  • Promessa<void>

    Chrome 117 ou versões mais recentes

    As 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

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