Você pode remover arquivos e pastas do Google Drive do Meu Drive e dos drives compartilhados. Você tem duas opções para fazer isso: mover para a lixeira ou excluir.
Você pode mover arquivos e pastas para a lixeira e depois restaurá-los (até 30 dias após o envio para a lixeira). A exclusão de arquivos e pastas os remove permanentemente do Drive. Se você mover para a lixeira, restaurar ou excluir permanentemente vários arquivos ou pastas de uma vez, talvez leve algum tempo para notar as mudanças.
Este guia explica como descartar arquivos no Drive.
Usar o parâmetro "fields"
Se você quiser especificar os campos a serem retornados na resposta, defina o parâmetro do sistema fields
com qualquer método do recurso files
. Se você omitir o parâmetro fields
, o servidor vai retornar um conjunto padrão de campos específicos do método. Por exemplo, o método
list
retorna apenas os campos kind
, id
,
name
, mimeType
e resourceKey
de cada arquivo. Para retornar campos diferentes, consulte Retornar campos específicos.
Lixeira
Para remover arquivos do Drive, mova-os para a lixeira. Os arquivos na lixeira são excluídos automaticamente após 30 dias. É possível restaurar arquivos da lixeira antes do período de 30 dias.
Somente o proprietário pode mover um arquivo para a lixeira, e outros usuários não podem ver os arquivos na lixeira do proprietário. Se você tentar mover para a lixeira um arquivo que não é seu, vai receber um erro
insufficientFilePermissions
. Para mais informações, consulte Permissões.
Para verificar se você é o proprietário do arquivo, chame o método get
no recurso files
com o parâmetro de caminho fileId
e o parâmetro fields
definido como o campo booleano ownedByMe
. O campo ownedByMe
não é preenchido para arquivos em drives compartilhados porque eles pertencem ao drive compartilhado, não a usuários individuais. Para mais informações sobre o parâmetro fields
,
consulte Usar o parâmetro "fields".
Se você não for o proprietário do arquivo, mas ainda quiser uma cópia do item excluído, faça uma das seguintes ações:
- Faça uma cópia do arquivo.
- Entre em contato com o proprietário e peça para restaurar o arquivo da lixeira.
Mover um arquivo para a lixeira
Para mover um arquivo para a lixeira, use o método update
no recurso files
com o parâmetro de caminho fileId
e defina o campo booleano
trashed
como true
. Para
mover um arquivo de drive compartilhado para a lixeira, você também precisa definir o parâmetro booleano supportsAllDrives
da consulta
como true
. Para mais informações, consulte Implementar suporte a drives compartilhados.
Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância do recurso files
.
O exemplo de código a seguir mostra como usar o fileId
para marcar o arquivo como
movido para a 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
mover para a lixeira.
Determinar as propriedades de um arquivo na lixeira
Quando um arquivo é movido para a lixeira, é possível recuperar outras propriedades dele. Você pode usar
o método get
no recurso files
com o parâmetro de caminho fileId
e usar um
dos seguintes campos movidos para a lixeira no parâmetro fields
. Para mais informações
sobre o parâmetro fields
, consulte Usar o parâmetro "fields".
Os seguintes campos são preenchidos para todos os arquivos:
trashed
: indica se o arquivo foi movido para a lixeira, de forma explícita ou de uma pasta principal movida para a lixeira. Ao usartrashed
com o métodoupdate
, o status do arquivo é definido, mas o métodoget
recupera o status do arquivo.explicitlyTrashed
: Indica se o arquivo foi movido explicitamente para a lixeira, em vez de ser movido recursivamente, de uma pasta mãe.
Os campos a seguir só são preenchidos para arquivos localizados em um drive compartilhado:
trashedTime
: o horário em que o item foi movido para a lixeira no formato de data e hora RFC 3339. Se você estiver usando a versão anterior da API Drive v2, esse campo será chamado detrashedDate
.trashingUser
: se o arquivo foi movido para a lixeira explicitamente, o usuário que fez isso.
Recuperar um arquivo da lixeira
Para recuperar um arquivo da lixeira, use o
método update
no recurso files
com o parâmetro de caminho fileId
e defina o
campo booleano trashed
como
false
. Para recuperar um arquivo de um drive compartilhado, você também precisa definir o parâmetro booleano
supportsAllDrives
da consulta
como true
. Para mais informações, consulte Implementar suporte a drives compartilhados.
Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância do recurso files
.
O exemplo de código a seguir mostra como usar fileId
para marcar o arquivo como
não excluído:
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
restaurar.
Esvaziar lixeira
É possível excluir permanentemente todos os arquivos do Drive que o usuário moveu para a lixeira usando o método emptyTrash
no recurso files
. Para esvaziar a lixeira de um drive compartilhado, você também precisa definir o parâmetro de consulta driveId
como o ID do drive compartilhado.
Se a solicitação for bem-sucedida, o corpo da resposta vai conter um objeto JSON vazio.
O exemplo de código a seguir mostra como usar o fileId
para excluir permanentemente
todos os arquivos na lixeira:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
Excluir
É possível excluir permanentemente um arquivo do Drive sem movê-lo para a lixeira. Após a exclusão de um arquivo, todas as pessoas com quem você o compartilhou perdem o acesso a ele. Se você quiser que outras pessoas continuem tendo acesso ao arquivo, transfira a propriedade para alguém antes da exclusão.
Para excluir um arquivo de drive compartilhado, o usuário precisa ter role=organizer
na pasta
principal. Se você estiver excluindo uma pasta, todos os descendentes dela também serão excluídos. 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
delete
no recurso files
. Para excluir um arquivo do drive compartilhado, você também precisa
definir o parâmetro booleano supportsAllDrives
da consulta
como true
. Para mais informações, consulte Implementar suporte a drives compartilhados.
Se a solicitação for bem-sucedida, o corpo da resposta vai conter um objeto JSON vazio.
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 função necessárias para mover para a lixeira ou excluir arquivos e pastas. 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 | ||||||
Recuperar arquivos e pastas da lixeira | ||||||
Esvaziar a lixeira | ||||||
Excluir um arquivo ou uma pasta | ||||||
Excluir arquivos e pastas em um drive compartilhado [*] | ||||||
Excluir um drive compartilhado vazio |
Recursos
Um recurso files
contém uma coleção de campos booleanos
capabilities
que indicam os recursos que o usuário tem nesse arquivo.
Para verificar os recursos, chame o método get
no recurso files
com o parâmetro de caminho fileId
e use um dos
seguintes campos capabilities
no parâmetro fields
. Para mais informações sobre o parâmetro fields
, consulte Usar o parâmetro "fields".
Os seguintes campos são preenchidos para todos os arquivos:
capabilities.canTrash
: Se o usuário atual pode mover o arquivo para a lixeira.capabilities.canUntrash
: se o usuário atual pode restaurar esse arquivo da lixeira.capabilities.canDelete
: se o usuário atual pode excluir este arquivo.capabilities.canRemoveChildren
: se o usuário atual pode remover filhos desta pasta. Isso éfalse
quando o item não é uma pasta.
Os campos a seguir só são preenchidos para arquivos localizados em um drive compartilhado:
capabilities.canTrashChildren
: se o usuário atual pode mover para a lixeira os filhos desta pasta. Isso éfalse
quando o item não é uma pasta.capabilities.canDeleteChildren
: se o usuário atual pode excluir filhos desta pasta. Isso éfalse
quando o item não é uma pasta.
Limites de arquivos e pastas
Os arquivos e pastas do Drive, assim como as pastas do drive compartilhado, têm alguns limites de armazenamento.
Em geral, depois que o limite de itens é atingido, a única maneira de criar mais espaço é 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 o seguinte:
Temas relacionados
- Excluir arquivos no Google Drive
- Diferenças entre as APIs do Drive compartilhado e do Meu Drive
- Papéis e permissões