Tworzenie plików i zarządzanie nimi

Z tego przewodnika dowiesz się, jak tworzyć pliki na Dysku Google i nimi zarządzać za pomocą interfejsu Google Drive API.

Utwórz plik

Aby utworzyć na Dysku plik, który nie zawiera metadanych ani treści, użyj metody create w zasobie files bez parametrów.

Gdy utworzysz plik, metoda zwróci zasób files. Plik ma kind drive.file, id, name „Bez tytułu” i mimeType application/octet-stream. Parametr uploadType jest oznaczony jako wymagany, ale domyślnie ma wartość media, więc nie musisz go podawać.

Więcej informacji o ograniczeniach dotyczących plików na Dysku znajdziesz w artykule Limity dotyczące plików i folderów.

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, mimeTyperesourceKey dla każdego pliku. Aby zwrócić inne pola, zobacz Zwracanie określonych pól.

Własność pliku

Gdy plik jest tworzony przy użyciu interfejsu Drive API, własność zależy od danych logowania używanych przez aplikację w następujący sposób:

  • Konto użytkownika (OAuth 2.0): jeśli aplikacja uwierzytelnia się w imieniu użytkownika, staje się on właścicielem pliku. Plik będzie się znajdować w folderze Mój dysk lub w określonym folderze. Wykorzystuje ona limit miejsca na dane.

  • Konto usługi: jeśli aplikacja uwierzytelnia się za pomocą konta usługi, właścicielem pliku jest konto usługi. Plik jest następnie przechowywany na Dysku konta usługi. Pliki nie pojawiają się na innych kontach pamięci na Dysku, chyba że zostały jawnie udostępnione. Jeśli konto usługi zostanie usunięte, wszystkie należące do niego pliki zostaną natychmiast usunięte.

    Jeśli używasz konta usługi, ale chcesz, aby plik należał do konkretnego konta użytkownika, użyj przekazywania dostępu w obrębie całej domeny. Umożliwia to kontu usługi podszywanie się pod użytkownika i tworzenie plików w jego imieniu. Więcej informacji znajdziesz w artykule Przekazywanie kontu usługi uprawnień do całej domeny.

Więcej informacji o uprawnieniach do plików znajdziesz w artykule Udostępnianie plików, folderów i dysków.

Generowanie identyfikatorów do użycia w plikach

Metoda generateIds w zasobie files umożliwia wstępne generowanie unikalnych identyfikatorów plików, których można używać podczas tworzenia lub kopiowania plików i folderów na Dysku. Może to być przydatne, gdy chcesz kontrolować identyfikatory plików w aplikacji, zamiast zezwalać na ich automatyczne przypisywanie przez Dysk.

Liczbę wygenerowanych identyfikatorów możesz ustawić za pomocą parametru zapytania count. Jeśli parametr count nie jest ustawiony, domyślnie zwracanych jest 10 wyników. Maksymalna liczba identyfikatorów, o które możesz poprosić, to 1000.

Możesz też określić space, w których można używać identyfikatorów, oraz type produktów, w przypadku których można używać identyfikatorów.

Po wygenerowaniu identyfikatora można go przekazać do metody create lub copy za pomocą pola id. Dzięki temu utworzony lub skopiowany plik będzie używać z góry określonego identyfikatora.

Jeśli plik zostanie utworzony lub skopiowany, kolejne próby zwrócą kod stanu HTTP 409 Conflict i nie zostaną utworzone zduplikowane pliki.

Pamiętaj, że wstępnie wygenerowane identyfikatory nie są obsługiwane w przypadku tworzenia plików Google Workspace, z wyjątkiem application/vnd.google-apps.drive-sdki application/vnd.google-apps.folder typów MIME. Podobnie nie są obsługiwane przesyłane pliki, które odwołują się do konwersji na format pliku Google Workspace.

Tworzenie plików zawierających tylko metadane

Pliki zawierające tylko metadane nie zawierają treści. Metadane to dane (takie jak name, mimeType i createdTime), które opisują plik. Pola takie jak name są niezależne od użytkownika i wyświetlają się tak samo w przypadku każdego użytkownika, natomiast pola takie jak viewedByMeTime zawierają wartości specyficzne dla użytkownika.

Przykładem pliku zawierającego tylko metadane jest folder o typie MIMEapplication/vnd.google-apps.folder. Więcej informacji znajdziesz w artykule Tworzenie folderów i wypełnianie ich zawartością. Innym przykładem jest skrót, który wskazuje inny plik na Dysku o typie MIME application/vnd.google-apps.shortcut. Więcej informacji znajdziesz w artykule Tworzenie skrótu do pliku na Dysku.

Zarządzanie miniaturami

Miniatury pomagają użytkownikom identyfikować pliki na Dysku. Dysk może automatycznie generować miniatury popularnych typów plików. Możesz też przesłać obraz miniatury wygenerowany przez aplikację. Więcej informacji znajdziesz w artykule Przesyłanie miniatur.

Kopiowanie istniejącego pliku

Aby skopiować plik i zastosować wszelkie wymagane aktualizacje, użyj metody copy w zasobie files. Aby znaleźć fileId do skopiowania, użyj metody list.

Aktualizacje możesz stosować za pomocą semantyki poprawek, co oznacza, że możesz wprowadzać częściowe modyfikacje zasobu. W żądaniu musisz wyraźnie określić pola, które chcesz zmodyfikować. Pola, które nie są uwzględnione w żądaniu, zachowują swoje dotychczasowe wartości. Więcej informacji znajdziesz w artykule Praca z częściowymi zasobami.

Identyfikator skopiowanego pliku możesz ustawić wstępnie za pomocą metody generateIds. Więcej informacji znajdziesz w artykule Generowanie identyfikatorów do użycia w plikach.

Pamiętaj, że do autoryzacji wywołania musisz użyć odpowiedniego zakresu interfejsu Drive API. Więcej informacji o zakresach Dysku znajdziesz w artykule Wybieranie zakresów interfejsu Google Drive API.

Ograniczenia i kwestie do rozważenia

Podczas przygotowywania się do kopiowania plików pamiętaj o tych limitach i kwestiach:

  • Uprawnienia:

  • Zarządzanie plikami:

    • Niektórych plików, np. skrótów innych firm, nie można skopiować.
    • Plik możesz skopiować tylko do jednego folderu nadrzędnego. Określanie wielu elementów nadrzędnych nie jest obsługiwane. Jeśli pole parents nie jest określone, plik dziedziczy wszystkie wykrywalne elementy nadrzędne z pliku źródłowego.
    • Chociaż folder jest rodzajem pliku, nie można go skopiować. Zamiast tego utwórz folder docelowy i ustaw w nim pole parents istniejących plików. Następnie możesz usunąć oryginalny folder źródłowy.
    • Jeśli nie podasz nowej nazwy pliku, metoda copy utworzy plik o takiej samej nazwie jak oryginał.
    • Nadmierne korzystanie z copy może spowodować przekroczenie limitów interfejsu Drive API. Więcej informacji znajdziesz w sekcji Limity wykorzystania.

Oto kilka kolejnych kroków, które możesz wykonać: