O Drive and Photo Service (Developer Edition) oferece suporte a versões históricas de arquivos. Gerencie as versões pelo cliente padrão ou pela API.
Conceitos principais
Recursos
O backup multiversão salva todas as versões dos seus arquivos. Restaure qualquer arquivo para um estado anterior caso seja sobrescrito ou modificado acidentalmente.
Editar ou substituir um arquivo cria uma versão histórica. Liste, visualize, restaure, exclua e descreva essas versões.
Configure um período de retenção de 1 a 999 dias ou mantenha as versões indefinidamente. Mescla automática de versões criadas em um período específico reduz a proliferação de versões.
Defina o número máximo de versões retidas entre 1 e 999. Marque até 50 versões para retenção permanente e proteja-as contra exclusão por limites de tempo ou quantidade.
Pré-requisitos
Domínio do PDS Developer Edition criado.
Apenas superadministradores ou administradores de drive podem ativar este recurso.
BasicUI ativado.
Ativar versões históricas
Faça login no BasicUI e acesse o admin console.
No painel de navegação à esquerda, escolha .
-
Ative a chave Historical Version.

Configuração de versão histórica
À direita de Historical Version, clique em Edit para modificar a configuração.
|
Parâmetro |
Descrição |
|
Merge file historical versions |
Ativado por padrão. Vários salvamentos em um período de 10 minutos (edição online, sincronização de arquivos) são mesclados em uma única versão histórica. Se desativado, cada salvamento cria uma nova versão histórica. |
|
Version count limit |
|
|
Retention period |
|
Fluxo e exemplos de chamadas de API
Gerar uma nova versão
Ao fazer upload de um arquivo pela primeira vez, ele possui apenas uma versão. Sobrescrever o arquivo gera uma nova versão.
Para sobrescrever um arquivo, chame a operação CreateFile com file_id definido como o ID do arquivo de destino. O restante do processo de upload segue o fluxo descrito em Upload a file.
Listar versões históricas
Chame a operação ListRevision para obter uma lista paginada das versões de um arquivo. As versões retornam em ordem cronológica inversa.
Exemplo de solicitação:
{
"drive_id":"testDriveId",
"file_id": "testFileId"
}
Exemplo de resposta:
{
"items": [{
"domain_id": "testDomainId",
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_name": "history_version.xlsx",
"file_extension": "xlsx",
"size": 8493,
"revision_version": 2,
"keep_forever": false,
"revision_description": "",
"revision_create_reason": "overwrite",
"content_hash_name": "sha1",
"content_hash": "xxxxxx",
"crc64_hash": "xxxxxx",
"created_at": "2022-09-05T04:00:09.017Z",
"updated_at": "2022-09-05T04:00:09.017Z",
"creator_type": "User",
"creator_id": "testCreatorId",
"is_latest_version": true
}],
"next_marker": ""
}
Descrição dos campos:
drive_id: ID do espaço pessoal ou drive corporativo.file_id: ID do arquivo. Não pode ser ID de pasta.next_marker: Token de paginação. Passe este valor como parâmetromarkerna próxima solicitação. Valor vazio indica a última página.revision_version: Número da versão. Um número menor indica uma versão mais antiga.-
revision_create_reason: Motivo da criação da versão. Valores válidos:"" (string vazia): Arquivo criado.
"overwrite": Arquivo sobrescrito.
"restore_rev": Versão histórica restaurada.
is_latest_version: Indica se esta é a versão mais recente do arquivo.revision_name: Nome da versão. A versão mais recente compartilha o nome do arquivo. O nome de uma versão histórica é fixo após a criação.
Obter detalhes da versão
Use a operação GetRevision para obter detalhes de uma única versão. Diferentemente da resposta de ListRevision, a resposta de GetRevision inclui uma URL de download.
Exemplo de solicitação:
{
"drive_id":"testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
Exemplo de resposta:
{
"domain_id": "testDomainId",
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_name": "history_version.xlsx",
"file_extension": "xlsx",
"size": 8493,
"revision_version": 2,
"keep_forever": false,
"revision_description": "",
"revision_create_reason": "overwrite",
"content_hash_name": "sha1",
"content_hash": "xxxxxx",
"crc64_hash": "xxxxxx",
"created_at": "2022-09-05T04:00:09.017Z",
"updated_at": "2022-09-05T04:00:09.017Z",
"creator_type": "User",
"creator_id": "testCreatorId",
"is_latest_version": true,
"download_url": "testDownloadUrl"
}
Atualizar propriedades da versão
Chame a operação UpdateRevision para atualizar as propriedades de uma versão.
Marcar uma versão para retenção permanente
Marque até 50 versões para retenção permanente. Versões assim marcadas não são excluídas mesmo que excedam os limites de período de retenção ou quantidade.
Para excluir uma versão com retenção permanente, chame a operação DeleteRevision.
Excluir permanentemente um arquivo também remove todas as suas versões, inclusive as com retenção permanente.
Exemplo de solicitação:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"keep_forever": true
}
Cancelar retenção permanente
Exemplo de solicitação:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"keep_forever": false
}
Definir descrição da versão
Exemplo de solicitação:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_description": "this is a revision"
}
Restaurar uma versão histórica
Esta operação não restaura a versão mais recente de um arquivo.
Restaurar uma versão histórica cria uma nova versão baseada nela. A versão histórica original permanece inalterada. O usuário que executa a restauração torna-se o criador da nova versão. Para liberar espaço de armazenamento, chame a operação DeleteRevision.
Chame a operação RestoreRevision para restaurar uma versão histórica e torná-la a versão mais recente do arquivo.
Exemplo de solicitação:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
Excluir uma versão histórica
Esta operação não exclui a versão mais recente de um arquivo.
Use a operação DeleteRevision para excluir uma versão histórica e liberar o espaço de armazenamento ocupado.
Exemplo de solicitação:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
