Este guia explica como usar o revisions
recurso para gerenciar revisões de arquivos, como receber uma revisão de arquivo e
publicar uma revisão do Google Workspace. A API Google Drive também permite fazer o download de revisões. Para mais detalhes sobre a terminologia de revisão, consulte Mudanças
e revisões.
Para acessar o histórico de revisões, um usuário precisa ter o role de owner, organizer, fileOrganizer ou writer.
Para especificar os campos a serem retornados na resposta, defina o fields
parâmetro do sistema
com qualquer método do recurso revisions. Se você omitir o parâmetro, o servidor vai retornar um conjunto padrão de campos. Por exemplo, o método revisions.list só retorna os campos id, mimeType, kind e modifiedTime. Para retornar campos diferentes, consulte Retornar campos específicos.
Especificar revisões para salvar da exclusão automática
O Google Drive exclui automaticamente as revisões mais antigas que não são mais de interesse do usuário.
Uma revisão de arquivo de blob pode ser definida como "Manter indefinidamente", o que significa que ela não pode ser limpa automaticamente. Até 200 revisões podem ser definidas como "Manter indefinidamente" e contam para o limite de armazenamento. A revisão principal nunca é limpa automaticamente.
Qualquer revisão de arquivo de blob, que não seja a principal, que não esteja designada como "Manter indefinidamente" pode ser limpa. As revisões limpas normalmente são preservadas por 30 dias, mas podem ser limpas antes se um arquivo tiver 100 revisões que não estejam designadas como "Manter indefinidamente" e uma nova revisão for enviada.
Você pode definir o campo booleano keepForever do recurso revisions como true para marcar as revisões que você
não quer que o Drive limpe. Depois que uma revisão de arquivo de blob é definida como "Manter indefinidamente", ela só pode ser baixada ou excluída. Para mais informações, consulte
Fazer o download de uma revisão ou Excluir uma
revisão.
Se você estiver usando a API Drive v2 mais antiga, use o pinned campo do
revisions recurso em vez de
keepForever.
Receber uma revisão de arquivo
Para receber os metadados ou o conteúdo de uma revisão de arquivo, use o get método no
revisions recurso com os fileId e
revisionId parâmetros de caminho. Se você não souber o ID da revisão, poderá listar
todas as revisões em um arquivo usando o método list.
O método retorna os metadados da revisão como uma instância de um recurso revisions. Se você fornecer o parâmetro alt=media, a resposta vai incluir o conteúdo da revisão no corpo da resposta. Para fazer o download de um arquivo de blob, consulte
Fazer o download do conteúdo de um arquivo de blob em uma versão anterior.
Para reconhecer o risco de fazer o download de malware conhecido ou outros
abusivos arquivos, defina o
acknowledgeAbuse parâmetro de consulta como true. Esse campo só é aplicável quando o parâmetro alt=media está definido e o usuário é o proprietário do arquivo ou um organizador da unidade compartilhada em que o arquivo reside.
Listar as revisões de um arquivo
Para listar as revisões de um arquivo, use o list
método no revisions recurso com o
fileId parâmetro de caminho. O método retorna uma lista de revisões de arquivos.
Transmita os seguintes parâmetros de consulta para personalizar a paginação ou filtrar revisões:
pageSize: o número máximo de revisões a serem retornadas por página.pageToken: um token de página, recebido de uma chamada de lista anterior. Forneça esse token para recuperar a página seguinte.
Atualizar uma revisão de arquivo
Para atualizar uma revisão em um arquivo, use o
update método no revisions recurso com os fileId e revisionId parâmetros de caminho.
O método retorna uma instância de um recurso revisions.
Fazer o download de uma revisão
Só é possível fazer o download de revisões de conteúdo de arquivos de blob marcadas como "Manter indefinidamente". Se você quiser fazer o download de uma revisão, defina-a como "Manter indefinidamente" primeiro. Para mais informações, consulte Especificar revisões para salvar da exclusão automática.
Para fazer o download de uma revisão de conteúdo de arquivo de blob ou exportar uma revisão de conteúdo de documento do Google Workspace, consulte Fazer o download e exportar arquivos.
Excluir uma revisão de arquivo
Para excluir permanentemente uma revisão de arquivo, use o
delete método no recurso revisions com os parâmetros de caminho fileId e revisionId.
Só é possível excluir revisões de arquivos de blob com conteúdo binário no Drive, como imagens, vídeos e PDFs. Você pode excluir uma revisão de arquivo de blob quando ela estiver marcada como "Manter indefinidamente". As revisões de outros arquivos, como um Documentos ou Planilhas Google, e a última revisão restante do arquivo binário não podem ser excluídas.
Publicar uma revisão
Para publicar uma revisão do Documentos, Planilhas e Apresentações Google, defina
a published propriedade para esse arquivo no
revisions recurso. Essa propriedade não pode ser definida para revisões do Google Sites usando a API Drive.
As revisões publicadas não refletem as mudanças feitas em um arquivo, a menos que a propriedade publishAuto esteja definida. Se a propriedade estiver definida como true, as revisões mais recentes de um arquivo serão publicadas automaticamente, substituindo as anteriores.
O Slides e o Desenhos só oferecem suporte à republicação automática e exigem que a propriedade publishAuto seja definida como true. Para arquivos do Sites, publishAuto é sempre false.
Se o arquivo for criado em um domínio do Google Workspace, a propriedade publishedOutsideDomain vai indicar se a revisão pode ser acessada por qualquer pessoa ou se ela está restrita aos usuários do domínio. Para arquivos do Sites, essa propriedade indica se uma permissão type=anyone existe. Para
mais informações, consulte o
type campo no
permissions recurso.
A publicação automática também é controlada pela caixa de seleção "Republicar automaticamente quando houver alterações" na interface do usuário do Documentos e do Planilhas. Para mais informações, consulte Tornar público um arquivo do Documentos, Planilhas, Apresentações e Formulários Google .