Mover ou excluir arquivos e pastas para a lixeira

Você pode remover arquivos e pastas do Google Drive da sua conta do Drive e drives compartilhados. Você tem duas opções para fazer isso: lixeira ou excluir.

Você pode mover arquivos e pastas para a lixeira e restaurá-los em até 30 dias depois de colocá-los no lixo). A exclusão de arquivos e pastas os remove permanentemente do Google Drive. Se você mover vários itens para a lixeira, restaurar ou excluir permanentemente arquivos ou pastas de uma só vez, talvez leve algum tempo para você perceber as alterações.

Este guia explica como descartar arquivos no Drive.

Lixeira

Para remover arquivos do Drive, mova-os para a lixeira. Arquivos no a lixeira são excluídas automaticamente após 30 dias. Você pode restaurar arquivos sua lixeira antes do período de 30 dias.

Somente o proprietário do arquivo pode enviá-lo para a lixeira, e outros usuários não podem visualizá-lo na na lixeira do proprietário. Ao tentar mover para a lixeira um arquivo que não é seu, você vai receber uma insufficientFilePermissions erro. Para mais informações, consulte Permissões.

Para confirmar que você é o proprietário do arquivo, chame o método Método files.get com o fileId e o parâmetro fields definido como o campo booleano ownedByMe. O ownedByMe campo não é preenchido para arquivos em drives compartilhados porque eles pertencem ao drives compartilhados, não a usuários individuais. Para mais informações sobre como retornar campos usando o parâmetro fields, consulte Retornar campos específicos para um arquivo.

Se o arquivo não for seu, mas você quiser uma cópia dele na lixeira, escolha uma um dos seguintes:

  • Faça uma cópia do arquivo.
  • Entre em contato com o proprietário e peça que ele restaure da lixeira.

Mover um arquivo para a lixeira

Para mover um arquivo para a lixeira, use o files.update e defina o trashed para True. Para mover um arquivo de um drive compartilhado para a lixeira, você também precisa definir o o parâmetro de consulta supportsAllDrives para True. Para mais informações, consulte Implementar o suporte aos drives compartilhados.

Se bem-sucedida, a resposta body contém um instância do recurso files.

O exemplo de código abaixo mostra como usar fileId para marcar o arquivo como na lixeira:

Python

body_value = {'trashed': True}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

Node.js

const body_value = {
  'trashed': True
};

const response = await drive_service.files.update({
      fileId: 'FILE_ID',
      requestBody: body_value,
    });
    return response;

Substitua FILE_ID pelo fileId do arquivo que você quer. lixo.

Determinar as propriedades de um arquivo na lixeira

Quando um arquivo é enviado para a lixeira, você pode recuperar Propriedades files. Você pode usar o files.get e inclua os campos a seguir no parâmetro fields. Para mais informações, consulte Devolver campos específicos de um arquivo.

Os campos a seguir são preenchidos para todos os arquivos:

  • trashed: se o arquivo foi enviado para a lixeira (explicitamente ou de uma lixeira) na pasta principal. Ao usar trashed com o files.update, define o status do arquivo, o método files.get recupera o valor o status atual da conta.
  • explicitlyTrashed: se o arquivo foi explicitamente enviado para a lixeira, ou não recursivamente para a lixeira, de uma pasta pai.

Os campos a seguir são preenchidos apenas para arquivos em um drive compartilhado:

  • trashedTime: a hora em que o item foi enviado para a lixeira no RFC 3.339 formato de data-hora. Se você estiver usando a versão anterior da Drive API v2 versão, esse campo se chamará trashedDate.
  • trashingUser: se o arquivo foi explicitamente enviado para a lixeira, o usuário que o moveu para a lixeira.

Recuperar um arquivo da lixeira

Para recuperar um arquivo da lixeira, use o files.update e defina o trashed para False. Para remover um arquivo de um drive compartilhado, você também precisa configurar o parâmetro de consulta supportsAllDrives para True. Para mais informações, consulte Implementar o suporte aos drives compartilhados.

Se bem-sucedida, a resposta body contém um instância do recurso files.

O exemplo de código abaixo mostra como usar fileId para marcar o arquivo como fora da lixeira:

Python

body_value = {'trashed': False}

response = drive_service.files().update(fileId="FILE_ID", body=body_value).execute()

Node.js

const body_value = {
  'trashed': False
};

const response = await drive_service.files.update({
      fileId: 'FILE_ID',
      requestBody: body_value,
    });
    return response;

Substitua FILE_ID pelo fileId do arquivo que você quer. para retirar da lixeira.

Esvaziar lixeira

Você pode excluir permanentemente todos os arquivos do Drive para onde o usuário moviu o lixo usando o files.emptyTrash. Para esvaziar a lixeira de um drive compartilhado, você também precisará definir a consulta driveId ao ID do drive compartilhado.

Se bem-sucedida, a resposta body contém um valor vazio instância.

O exemplo de código a seguir mostra como usar o fileId para excluir todos os arquivos em para a lixeira:

Python

response = drive_service.files().emptyTrash().execute()

Node.js

 const response = await drive_service.files.emptyTrash({
    });
    return response;

Excluir

Você pode excluir permanentemente um arquivo do Drive sem movê-lo para a lixo. Depois que você exclui um arquivo, todas as pessoas com quem ele foi compartilhado perde o acesso a ele. Se quiser que outras pessoas mantenham o acesso ao arquivo, você pode transferir propriedade para para outra pessoa antes da exclusão.

Para excluir um arquivo de drive compartilhado, o usuário precisa ter role=organizer no diretório pai. do Compute Engine. Se você estiver excluindo uma pasta, todos os descendentes do usuário também serão excluída. Para mais informações, consulte Permissões.

Para excluir permanentemente um arquivo de propriedade do usuário sem movê-lo para a lixeira, use o método método files.delete. Para excluir um arquivo do drive compartilhado, defina também o parâmetro de consulta supportsAllDrives como True. Veja mais informações em Implementar um drive compartilhado suporte.

Se bem-sucedida, a resposta body contém um instância vazia.

O exemplo de código a seguir mostra como usar o fileId para excluir o arquivo:

Python

response = drive_service.files().delete(fileId="FILE_ID").execute()

Node.js

 const response = await drive_service.files.delete({
      fileId: 'FILE_ID'
    });
    return response;

Substitua FILE_ID pelo fileId do arquivo que você quer. excluir.

Permissões

A tabela a seguir mostra as permissões de papel necessárias para realizar cada operação Para uma lista completa de papéis e as operações permitidas por cada um, consulte Papéis e permissões.

Operação permitida owner organizer fileOrganizer writer commenter reader
Mover arquivos e pastas para a lixeira
Recupere arquivos e pastas da lixeira
Esvaziar a lixeira
Excluir um arquivo ou uma pasta permanentemente
Excluir arquivos e pastas em um drive compartilhado [*]

Recursos

Um recurso files contém uma coleção. de campos booleanos capabilities usados para indicar se uma ação pode ser executada em um arquivo.

Para verificar os recursos, chame o método Método files.get com o fileId e o parâmetro fields definido para o campo capabilities. Para mais informações sobre como retornar campos usando o parâmetro fields, consulte Return campos específicos de um arquivo.

Os campos a seguir são preenchidos para todos os arquivos:

  • capabilities.canTrash: se o usuário atual pode mover o arquivo para lixo.
  • capabilities.canUntrash: se o usuário atual pode restaurar o arquivo da lixeira.
  • capabilities.canDelete: se o usuário atual pode excluir o arquivo.
  • capabilities.canRemoveChildren: se o usuário atual pode remover filhos desta pasta. Isso é falso quando o item não é uma pasta.

Os campos a seguir são preenchidos apenas para arquivos em um drive compartilhado:

  • capabilities.canTrashChildren: se o usuário atual pode enviar as crianças para a lixeira desta pasta. Isso é falso quando o item não é uma pasta.
  • capabilities.canDeleteChildren: se o usuário atual pode excluir filhos desta pasta. Isso é falso quando o item não é uma pasta.

Limites de arquivos e pastas

As pastas e os arquivos do Drive, junto com as pastas dos drives compartilhados, têm alguns limites de armazenamento.

Geralmente, depois que o limite de itens é atingido, a única maneira de criar mais espaço é para excluir permanentemente itens ou usar uma conta diferente. Mover arquivos para a lixeira não é suficiente para liberar espaço.

Para mais informações sobre limites de arquivos e pastas, consulte: