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: do kosza lub do kosza.

Możesz przenieść pliki i foldery do kosza, a następnie je przywrócić (w ciągu 30 dni od przeniesienia do kosza). Usunięcie plików i folderów oznacza ich trwałe usunięcie z Dysku. Jeśli jednocześnie przeniesiesz do kosza, przywrócisz albo trwale usuniesz wiele plików lub folderów, zmiany mogą być widoczne dopiero po jakimś czasie.

Ten przewodnik wyjaśnia, 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. Pliki możesz przywrócić z kosza przed upływem 30 dni.

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

Aby potwierdzić, że jesteś właścicielem pliku, wywołaj metodę files.get z parametrem fileId i fields ustawionym na wartość logiczną ownedByMe. Pole ownedByMe jest puste w przypadku plików na dyskach współdzielonych, ponieważ pliki te należą 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 sekcji Zwracanie określonych pól w pliku.

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

  • Utwórz jego kopię.
  • Skontaktuj się z właścicielem pliku 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ść do kosza plik na dysku współdzielonym, 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ła instancję zasobu files.

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

Określanie właściwości pliku umieszczonego w koszu

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

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

  • trashed: określa, czy plik został przeniesiony do kosza (bezpośrednio czy z folderu nadrzędnego). Pamiętaj, że chociaż metoda trashed przy użyciu metody files.update określa stan pliku, metoda files.get pobiera stan pliku.
  • explicitlyTrashed: określa, czy plik został jawnie przeniesiony do kosza z folderu nadrzędnego (a nie rekurencyjnie).

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

  • trashedTime: godzina usunięcia elementu do kosza w formacie RFC 3339. Jeśli używasz poprzedniej wersji interfejsu Drive API v2, to pole nazywa się trashedDate.
  • trashingUser: jeśli plik został jawnie przeniesiony do kosza, nazwa użytkownika, który go przeniósł;

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 z 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ła instancję zasobu files.

Poniższy przykładowy kod pokazuje, jak za pomocą narzędzia 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ć.

Opróżnij kosz

Możesz trwale usunąć wszystkie pliki na Dysku przeniesione przez użytkownika do kosza, korzystając z metody files.emptyTrash. Aby opróżnić kosz dysku współdzielonego, musisz też w parametrze zapytania driveId ustawić identyfikator dysku współdzielonego.

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

Poniższy przykładowy kod pokazuje, jak przy użyciu 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ń

Plik z Dysku możesz trwale usunąć 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 zachowały dostęp do pliku, możesz przenieść jego własność na kogoś innego, zanim zostanie usunięty.

Aby można było usunąć plik z dysku współdzielonego, w folderze nadrzędnym użytkownika musi znajdować się role=organizer. Jeśli usuwasz folder, wszystkie elementy podrzędne należące do użytkownika też 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ści odpowiedzi będą zawierać pustą instancję.

Poniższy przykładowy kod pokazuje, jak użyć fileId do usunięcia pliku:

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 dozwolonych przez każdą z nich znajdziesz w sekcji Role i uprawnienia.

Dozwolone działanie 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 na dysku współdzielonym[*]

Możliwości

Zasób files zawiera zbiór pól capabilities o wartościach logicznych, 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 pól specyficznych dla pliku.

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

  • 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. Ta wartość ma wartość false, jeśli element nie jest folderem.

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

  • capabilities.canTrashChildren: określa, czy bieżący użytkownik może przenosić do kosza elementy podrzędne tego folderu. Ta wartość ma wartość false, jeśli element nie jest folderem.
  • capabilities.canDeleteChildren: określa, czy bieżący użytkownik może usuwać elementy podrzędne tego folderu. Ta wartość ma wartość false, jeśli element nie jest folderem.