chrome.syncFileSystem

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 do usuário 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 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'. Só se aplica 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'. Só se aplica 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. Quando um arquivo é excluído, as informações de fileEntry continuam disponíveis, mas ele 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 é conflitante 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 na recuperação do FileStatus para o 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, está restaurando dados do banco de dados, verificando a conectividade, fazendo a autenticação 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 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. 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

Enumeração

"adicionado"

"atualizado"

"excluído"

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 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getFileStatus()

Promessa
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

Retorna o FileStatus para o 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 é definida como 'manual'.

Parâmetros

  • fileEntry

    Entrada

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (status: FileStatus) => void

Retorna

  • Promise<FileStatus>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no 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

    object[]

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (status: FileStatusInfo[]) => void

Retorna

  • Promise<FileStatusInfo[]>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 versões mais recentes

    As promessas só têm suporte no 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 esta aparência:

    (info: StorageInfo) => void

Retorna

  • Promise<StorageInfo>

    Chrome 117 ou versões mais recentes

    As promessas só têm suporte no Manifesto 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 permanentes (consulte http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Chamar esse operador várias vezes no mesmo app 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 tratar esses erros, é importante que chrome.runtime.lastError seja verificado no retorno de chamada.

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 versões mais recentes

    As promessas só têm suporte no Manifesto 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. 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ó têm suporte no 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,
)

Disparado quando ocorre um erro ou outra alteração de status 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