Możesz usuwać pliki i foldery z Dysku Google zarówno z Mojego dysku, jak i z dysków współdzielonych. Możesz to zrobić na 2 sposoby: przenieść do kosza lub usunąć.
Możesz przenosić pliki i foldery do kosza, a następnie je przywracać (w ciągu 30 dni od przeniesienia do kosza). Usunięcie plików i folderów jest nieodwracalne. Jeśli usuniesz, przywrócisz albo trwale usuniesz wiele plików lub folderów naraz, zmiany mogą być widoczne dopiero po jakimś czasie.
Z tego przewodnika dowiesz się, jak usuwać pliki z Dysku.
Używanie parametru fields
Jeśli chcesz określić pola, które mają być zwracane w odpowiedzi, możesz ustawić fields
parametr systemfields
w dowolnej metodzie zasobu files
. Jeśli pominiesz parametr fields
, serwer zwróci domyślny zestaw pól specyficznych dla danej metody. Na przykład metoda list
zwraca tylko pola kind
, id
, name
, mimeType
i resourceKey
dla każdego pliku. Aby zwrócić inne pola, zobacz Zwracanie określonych pól.
Kosz
Aby usunąć pliki z Dysku, możesz przenieść je do kosza. Pliki w koszu są automatycznie usuwane po 30 dniach. Możesz przywrócić pliki z kosza przed upływem 30-dniowego okresu.
Tylko właściciel pliku może przenieść go do kosza, a inni użytkownicy nie mogą wyświetlać plików w koszu właściciela. Jeśli spróbujesz przenieść do kosza plik, którego nie jesteś właścicielem, pojawi się komunikat o błędzieinsufficientFilePermissions
. Więcej informacji znajdziesz w sekcji Uprawnienia.
Aby potwierdzić, że jesteś właścicielem pliku, wywołaj metodę get
w zasobie files
z parametrem ścieżki fileId
i parametrem fields
ustawionym na pole logiczne ownedByMe
. Pole ownedByMe
nie jest wypełniane w przypadku plików na dyskach współdzielonych, ponieważ należą one do dysku współdzielonego, a nie do poszczególnych użytkowników. Więcej informacji o parametrze fields
znajdziesz w artykule Używanie parametru fields.
Jeśli nie jesteś właścicielem pliku, ale chcesz mieć jego kopię, wykonaj jedną z tych czynności:
- utwórz jego kopię,
- Skontaktuj się z właścicielem i poproś o przywrócenie pliku z kosza.
Przenoszenie pliku do kosza
Aby przenieść plik do kosza, użyj metody update
w zasobie files
z parametrem fileId
ścieżki i ustaw pole logiczne trashed
na true
. Aby przenieść plik z dysku współdzielonego do kosza, musisz też ustawić parametr zapytania logicznego supportsAllDrives
na wartość true
. Więcej informacji znajdziesz w artykule Wdrażanie obsługi dysków współdzielonych.
Jeśli operacja się uda, treść odpowiedzi będzie zawierała instancję zasobu files
.
Poniższy przykładowy kod pokazuje, jak użyć fileId
, aby oznaczyć plik jako przeniesiony do kosza:
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;
Zastąp FILE_ID identyfikatorem fileId
pliku, który chcesz przenieść do kosza.
Sprawdzanie właściwości pliku w koszu
Gdy plik zostanie przeniesiony do kosza, możesz pobrać dodatkowe właściwości pliku. Możesz użyć metody get
w zasobie files
z parametrem ścieżki fileId
i użyć jednego z tych pól usuniętych w parametrze fields
. Więcej informacji o parametrze fields
znajdziesz w artykule Używanie parametru fields.
W przypadku wszystkich plików wypełniane są te pola:
trashed
: czy plik został przeniesiony do kosza, bezpośrednio lub z folderu nadrzędnego, który został przeniesiony do kosza. Pamiętaj, że użycietrashed
z metodąupdate
ustawia stan pliku, a metodaget
pobiera stan pliku.explicitlyTrashed
: czy plik został usunięty do kosza bezpośrednio, a nie rekursywnie z folderu nadrzędnego.
Te pola są wypełniane tylko w przypadku plików znajdujących się na dysku współdzielonym:
trashedTime
: czas przeniesienia elementu do kosza w formacie daty i godziny RFC 3339. Jeśli używasz poprzedniej wersji interfejsu Drive API 2, to pole nazywa siętrashedDate
.trashingUser
: jeśli plik został wyraźnie przeniesiony do kosza, użytkownik, który to zrobił.
Przywracanie pliku z kosza
Aby przywrócić plik z kosza, użyj metody update
w zasobie files
z parametrem ścieżki fileId
i ustaw pole logiczne trashed
na wartość false
. Aby przywrócić plik z dysku współdzielonego, musisz też ustawić parametr zapytania logicznego supportsAllDrives
na true
. Więcej informacji znajdziesz w artykule Wdrażanie obsługi dysków współdzielonych.
Jeśli operacja się uda, treść odpowiedzi będzie zawierała instancję zasobu files
.
Poniższy przykładowy kod pokazuje, jak użyć fileId
, aby oznaczyć plik jako nieusunięty:
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;
Zastąp FILE_ID identyfikatorem fileId
pliku, który chcesz przywrócić.
Opróżnij kosz
Możesz trwale usunąć wszystkie pliki z Dysku, które użytkownik przeniósł do kosza, korzystając z metody emptyTrash
w zasobie files
. Aby opróżnić kosz na dysku współdzielonym, musisz też ustawić parametr zapytania driveId
na identyfikator dysku współdzielonego.
Jeśli operacja się uda, treść odpowiedzi będzie zawierała pusty obiekt JSON.
Poniższy przykładowy kod pokazuje, jak użyć fileId
, aby trwale usunąć wszystkie pliki z kosza:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
Usuń
Możesz trwale usunąć plik z Dysku bez przenoszenia go do kosza. Gdy usuniesz plik, każda osoba, której go udostępniono, utraci do niego dostęp. Jeśli chcesz, aby inne osoby nadal miały dostęp do pliku, przed jego usunięciem możesz przenieść własność na kogoś innego.
Aby usunąć plik z dysku współdzielonego, użytkownik musi mieć uprawnienia role=organizer
w folderze nadrzędnym. Jeśli usuwasz folder, wszystkie należące do użytkownika elementy podrzędne również zostaną usunięte. Więcej informacji znajdziesz w sekcji Uprawnienia.
Aby trwale usunąć plik należący do użytkownika bez przenoszenia go do kosza, użyj metody
delete
w zasobie files
. Aby usunąć plik z dysku współdzielonego, musisz też ustawić parametr zapytania logicznego supportsAllDrives
na wartość true
. Więcej informacji znajdziesz w artykule Wdrażanie obsługi dysków współdzielonych.
Jeśli operacja się uda, treść odpowiedzi będzie zawierała pusty obiekt JSON.
Poniższy przykładowy kod pokazuje, jak usunąć plik za pomocą fileId
:
Python
response = drive_service.files().delete(fileId="FILE_ID").execute()
Node.js
const response = await drive_service.files.delete({
fileId: 'FILE_ID'
});
return response;
Zastąp symbol FILE_ID symbolem fileId
pliku, który chcesz usunąć.
Uprawnienia
W tabeli poniżej znajdziesz uprawnienia wymagane do przenoszenia plików i folderów do kosza lub ich usuwania. Pełną listę ról i operacji, które umożliwiają, znajdziesz w artykule Role i uprawnienia.
Dozwolona operacja | owner |
organizer |
fileOrganizer |
writer |
commenter |
reader |
---|---|---|---|---|---|---|
Przenoszenie plików i folderów do kosza | ||||||
Przywracanie plików i folderów z kosza | ||||||
Opróżnij kosz. | ||||||
Usuwanie pliku lub folderu | ||||||
Usuwanie plików i folderów z dysku współdzielonego[*] | ||||||
Usuwanie pustego dysku współdzielonego |
Uprawnienia
Zasób files
zawiera zbiór pól logicznychcapabilities
, które wskazują uprawnienia użytkownika do tego pliku.
Aby sprawdzić możliwości, wywołaj metodę get
w zasobie files
z parametrem ścieżki fileId
i użyj jednego z tych pól capabilities
w parametrze fields
. Więcej informacji o parametrze fields
znajdziesz w artykule Używanie parametru fields.
W przypadku wszystkich plików wypełniane są te pola:
capabilities.canTrash
: czy bieżący użytkownik może przenieść ten plik do kosza.capabilities.canUntrash
: czy bieżący użytkownik może przywrócić ten plik z kosza.capabilities.canDelete
: Określa, czy bieżący użytkownik może usunąć ten plik.capabilities.canRemoveChildren
: Określa, czy bieżący użytkownik może usuwać dzieci z tego folderu. Jest tofalse
, gdy element nie jest folderem.
Te pola są wypełniane tylko w przypadku plików znajdujących się na dysku współdzielonym:
capabilities.canTrashChildren
: czy bieżący użytkownik może przenieść do kosza elementy podrzędne tego folderu. Wartośćfalse
oznacza, że element nie jest folderem.capabilities.canDeleteChildren
: określa, czy bieżący użytkownik może usuwać elementy podrzędne tego folderu. Wartośćfalse
oznacza, że element nie jest folderem.
Limity liczby plików i folderów
Pliki i foldery na Dysku, a także foldery na dyskach współdzielonych mają pewne limity miejsca na dane.
Zwykle po osiągnięciu limitu elementów jedynym sposobem na zwolnienie miejsca jest trwałe usunięcie elementów lub użycie innego konta. Przeniesienie plików do kosza nie wystarczy, aby zwolnić miejsce.
Więcej informacji o limitach plików i folderów znajdziesz w tych artykułach:
Powiązane artykuły
- Usuwanie plików na Dysku Google
- Różnice między interfejsami API dysku współdzielonego i Mojego dysku
- Role i uprawnienia