Pliki i foldery z Dysku Google możesz usuwać 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 przenieść pliki i foldery do kosza, a potem je przywrócić (w ciągu 30 dni od przeniesienia do kosza). Usunięcie plików i folderów powoduje ich trwałe usunięcie z Dysku. 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
systemowy
w dowolnej metodzie zasobu files. Jeśli pominiesz parametr fields, serwer zwróci domyślny zestaw pól właściwy 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, przeczytaj artykuł 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. W razie potrzeby możesz przywrócić pliki z kosza w ciągu 30 dni.
Tylko właściciel pliku może przenieść go do kosza, ale inni użytkownicy mogą nadal uzyskiwać do niego dostęp w koszu właściciela, dopóki nie zostanie on trwale usunięty. Jeśli spróbujesz przenieść do kosza plik, którego nie jesteś właścicielem, otrzymasz błąd insufficientFilePermissions. Więcej
informacji znajdziesz w artykule Uprawnienia.
Aby sprawdzić, czy jesteś właścicielem pliku, wywołaj get
metodę 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ż są one własnością dysku współdzielonego, a nie 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 nadal chcesz mieć jego kopię, wykonaj jedną z tych czynności:
- Utwórz kopię pliku.
- Skontaktuj się z właścicielem pliku i poproś o jego przywrócenie z kosza.
Przenoszenie pliku do kosza
Aby przenieść plik do kosza, użyj metody update
w zasobie files z parametrem ścieżki fileId
i ustaw pole logiczne
trashed na true. Aby
przenieść do kosza plik z dysku współdzielonego, musisz też ustawić parametr zapytania supportsAllDrives na true. Więcej informacji znajdziesz w artykule Implementowanie 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ć parametru 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 parametrem fileId pliku, który chcesz
przenieść do kosza.
Określanie właściwości pliku przeniesionego do kosza
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 jednym
z tych pól przeniesionych do kosza w parametrze fields. Więcej informacji
o parametrze fields znajdziesz w artykule Używanie parametru fields.
Te pola są wypełniane w przypadku wszystkich plików:
trashed: czy plik został przeniesiony do kosza, bezpośrednio lub z folderu nadrzędnego przeniesionego do kosza. Pamiętaj, że użycie polatrashedz metodąupdateustawia stan pliku, a metodagetpobiera stan pliku.explicitlyTrashed: czy plik został przeniesiony do kosza bezpośrednio, a nie rekurencyjnie 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 w wersji 2, to pole nazywa siętrashedDate.trashingUser: jeśli plik został przeniesiony do kosza bezpośrednio, jest to użytkownik, który go przeniósł.
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
false. Aby przywrócić plik z dysku współdzielonego, musisz też ustawić parametr zapytania
na true.supportsAllDrives Więcej informacji znajdziesz w artykule Implementowanie 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ć parametru fileId, aby oznaczyć plik jako przywrócony z kosza:
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 parametrem fileId pliku, który chcesz
przywrócić z kosza.
Opróżnianie kosza
Możesz trwale usunąć wszystkie pliki z Dysku, które użytkownik przeniósł do
kosza za pomocą
emptyTrash metody w zasobie files. Aby opróżnić kosz dysku współdzielonego, musisz też ustawić parametr zapytania na identyfikator dysku współdzielonego.driveId
Jeśli operacja się uda, treść odpowiedzi będzie zawierała pusty obiekt JSON.
Poniższy przykładowy kod pokazuje, jak użyć parametru fileId, aby trwale usunąć wszystkie pliki w koszu:
Python
response = drive_service.files().emptyTrash().execute()
Node.js
const response = await drive_service.files.emptyTrash({
});
return response;
Usuwanie
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 tego pliku, możesz przenieść własność na kogoś innego przed usunięciem.
Aby usunąć plik z dysku współdzielonego, użytkownik musi mieć rolę 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 artykule 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 supportsAllDrives na true. Więcej informacji znajdziesz w artykule Implementowanie 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 użyć parametru fileId, aby usunąć plik:
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 FILE_ID parametrem fileId pliku, który chcesz
usunąć.
Uprawnienia
W tabeli poniżej znajdziesz uprawnienia wymagane do przenoszenia plików i folderów do kosza oraz ich usuwania. Pełną listę ról i operacji, które można wykonywać w ramach każdej z nich, 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óżnianie kosza | ||||||
| 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 logicznych
capabilities, które wskazują, jakie uprawnienia ma użytkownik do tego pliku.
Aby sprawdzić uprawnienia, 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 fields
parametrze znajdziesz w artykule Używanie parametru fields.
Te pola są wypełniane w przypadku wszystkich plików:
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: czy bieżący użytkownik może usunąć ten plik.capabilities.canRemoveChildren: czy bieżący użytkownik może usunąć elementy podrzędne z tego folderu. Jeśli element nie jest folderem, wartość tego pola tofalse.
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. Jeśli element nie jest folderem, wartość tego pola tofalse.capabilities.canDeleteChildren: czy bieżący użytkownik może usunąć elementy podrzędne tego folderu. Jeśli element nie jest folderem, wartość tego pola tofalse.
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.
Gdy limit elementów zostanie osiągnięty, 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 dyskiem współdzielonym a interfejsem Drive API Mojego dysku
- Role i uprawnienia