Przenoszenie do kosza lub usuwanie plików i folderów

Pliki i foldery Dysku Google możesz usuwać zarówno z Mojego dysku, jak i dysków współdzielonych. Możesz to zrobić na 2 sposoby: przenieś do kosza lub usuń.

Pliki i foldery możesz przenieść do kosza, a następnie przywrócić (w ciągu 30 dni od przeniesienia ich do kosza). Usunięcie plików i folderów powoduje trwałe usunięcie ich z Dysku. Jeśli przeniesiesz do kosza, 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 pozbyć się plików na Dysku.

Śmieci

Aby usunąć pliki z Dysku, możesz przenieść je do kosza. Pliki umieszczone w koszu są automatycznie usuwane po 30 dniach. Możesz przywrócić z kosza pliki przed upływem 30 dni.

Tylko właściciel pliku może przenieść go do kosza i inni użytkownicy nie mogą wyświetlać plików znajdujących się w jego koszu. Jeśli spróbujesz przenieść do kosza plik, który nie należy do Ciebie, wystąpi błąd insufficientFilePermissions. Więcej informacji znajdziesz w sekcji Uprawnienia.

Aby potwierdzić, że jesteś właścicielem pliku, wywołaj metodę files.get z parametrami fileId i fields ustawionymi na wartość logiczną 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 zwracaniu pól za pomocą parametru fields znajdziesz w artykule Zwracanie określonych pól w przypadku pliku.

Jeśli nie jesteś właścicielem pliku, ale nadal chcesz uzyskać jego kopię, wykonaj jedną z tych czynności:

  • Utwórz jego kopię.
  • skontaktuj się z właścicielem i poproś o przywrócenie elementu z kosza.

Przenoszenie pliku do kosza

Aby przenieść plik do kosza, użyj metody files.update i ustaw pole trashed na True. Aby przenieść plik na dysk współdzielony do kosza, musisz też ustawić parametr zapytania supportsAllDrives na True. Więcej informacji znajdziesz w artykule o wdrażaniu obsługi dysków współdzielonych.

Jeśli operacja się uda, treść odpowiedzi będzie zawierać instancję zasobu files.

Poniższy przykładowy kod pokazuje, jak za pomocą elementu fileId oznaczyć plik jako usunięty:

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 wartością fileId pliku, który chcesz usunąć.

Określanie właściwości przeniesionego pliku

Po przeniesieniu pliku do kosza możesz pobrać dodatkowe właściwości files. Możesz użyć metody files.get i uwzględnić te pola w parametrze fields. Więcej informacji znajdziesz w artykule Zwracanie określonych pól pliku.

W przypadku wszystkich plików te pola są wypełniane:

  • trashed: określa, czy plik został przeniesiony do kosza – jawnie czy z folderu nadrzędnego umieszczonego w koszu. Pamiętaj, że jeśli używasz metody trashed w połączeniu z metodą files.update, ustawiasz stan pliku, a files.get pobiera jego stan.
  • explicitlyTrashed: określa, czy plik został bezpośrednio przeniesiony do kosza z folderu nadrzędnego, a nie cykliczny.

Te pola są wypełniane tylko w przypadku plików na dysku współdzielonym:

  • trashedTime: czas przeniesienia elementu do kosza podany w formacie RFC 3339, w formacie data-godzina. Jeśli używasz poprzedniej wersji interfejsu Drive API w wersji 2, pole to nosi nazwę trashedDate.
  • trashingUser: jeśli plik został przeniesiony do kosza bezpośrednio, użytkownik, który go umieszczał w koszu.

Przywracanie pliku z kosza

Aby przywrócić plik z kosza, użyj metody files.update i ustaw pole trashed na False. Aby przywrócić plik z dysku współdzielonego, musisz też ustawić parametr zapytania supportsAllDrives na True. Więcej informacji znajdziesz w artykule o wdrażaniu obsługi dysków współdzielonych.

Jeśli operacja się uda, treść odpowiedzi będzie zawierać instancję zasobu files.

Poniższy przykładowy kod pokazuje, jak za pomocą elementu fileId 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 wartością fileId pliku, który chcesz przywrócić z kosza.

Opróżnij kosz

Za pomocą metody files.emptyTrash możesz trwale usunąć z Dysku wszystkie pliki, które użytkownik przeniósł do kosza. Aby opróżnić kosz na dysku współdzielonym, musisz też ustawić w parametrze zapytania driveId identyfikator tego dysku.

Jeśli operacja się uda, treść odpowiedzi będzie zawierać pustą instancję.

Poniższy przykładowy kod pokazuje, jak za pomocą narzędzia fileId 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ępniłeś, straci do niego dostęp. Jeśli chcesz, aby inne osoby zachowały dostęp do pliku, przed usunięciem pliku możesz przenieść na nie jego własność.

Aby usunąć plik z dysku współdzielonego, w folderze nadrzędnym musi znajdować się role=organizer. Jeśli usuwasz folder, wszystkie jego 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 files.delete. Aby usunąć plik z dysku współdzielonego, musisz też ustawić parametr zapytania 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ć pustą instancję.

Przeanalizuj przykładowy kod poniżej, aby się dowiedzieć, jak za pomocą polecenia fileId 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 wartością fileId pliku, który chcesz usunąć.

Uprawnienia

W tabeli poniżej znajdziesz uprawnienia roli wymagane do wykonania każdej operacji. Pełną listę ról i operacji na nich dozwolonych 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
Trwałe usuwanie pliku lub folderu
Usuwanie plików i folderów z dysku współdzielonego [*]

Możliwości

Zasób files zawiera zbiór pól capabilities z wartościami logicznymi, które określają, czy na pliku można wykonać działanie.

Aby sprawdzić możliwości, wywołaj metodę files.get z parametrami fileId i fields ustawionymi na pole capabilities. Więcej informacji o zwracaniu pól za pomocą parametru fields znajdziesz w artykule Zwracanie konkretnych pól występujących w pliku.

W przypadku wszystkich plików te pola są wypełniane:

  • capabilities.canTrash: określa, czy bieżący użytkownik może przenieść ten plik do kosza.
  • capabilities.canUntrash: określa, 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. Ma wartość false (fałsz), jeśli element nie jest folderem.

Te pola są wypełniane tylko w przypadku plików na dysku współdzielonym:

  • capabilities.canTrashChildren: określa, czy bieżący użytkownik może przenieść do kosza elementy podrzędne tego folderu. Ma wartość false (fałsz), jeśli element nie jest folderem.
  • capabilities.canDeleteChildren: określa, czy bieżący użytkownik może usuwać elementy podrzędne tego folderu. Ma wartość false (fałsz), jeśli element nie jest folderem.

Limity dotyczące plików i folderów

Pliki i foldery na Dysku oraz foldery na dysku współdzielonym mają pewne limity miejsca.

Po osiągnięciu limitu elementów jedynym sposobem na zwiększenie miejsca jest trwałe usunięcie elementów lub użycie innego konta. Przeniesienie plików do kosza nie wystarcza do zwolnienia miejsca.

Więcej informacji o limitach dotyczących plików i folderów znajdziesz w tych artykułach: