Najnowsza wersja interfejsu Google Drive API to v3. Wersja 3 działa lepiej, ponieważ wyszukiwania zwracają tylko podzbiór pól. Korzystaj z bieżącej wersji, chyba że potrzebujesz kolekcji v2. Jeśli używasz wersji 2, rozważ migrację do wersji 3. Aby przeprowadzić migrację, zapoznaj się z artykułem Migracja do interfejsu Drive API w wersji 3. Pełną listę różnic między wersjami znajdziesz w porównaniu interfejsów Drive API w wersji 2 i 3.
Jeśli chcesz nadal korzystać z wersji 2, zapoznaj się z dodatkiem do przewodnika po interfejsie Drive API w wersji 2, aby dowiedzieć się, jak deweloperzy korzystający z wersji 2 powinni zmodyfikować niektóre instrukcje w przewodnikach po wersji 3.
Aby dowiedzieć się więcej o ulepszeniach w interfejsie Drive API w wersji 3, obejrzyj poniższy film, w którym inżynierowie Google omawiają nowy projekt interfejsu API.
Ulepszenia w wersji 3
Aby zoptymalizować wydajność i zmniejszyć złożoność działania interfejsu API, wersja 3 zawiera te ulepszenia w porównaniu z poprzednią wersją interfejsu API:
- Wyszukiwanie plików i dysków współdzielonych domyślnie nie zwraca pełnych zasobów, tylko podzbiór najczęściej używanych pól. Więcej informacji o fieldsznajdziesz w metodachfiles.listidrives.list.
- Prawie wszystkie metody, które zwracają odpowiedź, wymagają teraz parametru fields. Listę wszystkich metod wymagającychfieldsznajdziesz w dokumentacji interfejsu Drive API.
- Usunęliśmy zasoby, które miały zduplikowane możliwości. Oto kilka przykładów:
- Metoda files.listma takie same funkcje jak kolekcjeChildreniParents, więc zostały one usunięte z wersji 3.
- Metody Realtime.*zostały usunięte.
 
- Metoda 
- Dane aplikacji nie są domyślnie zwracane w wyszukiwaniach. W wersji 2 możesz ustawić zakres drive.appdata, który zwraca dane aplikacji z metodyfiles.listi metodychanges.list, ale spowalnia działanie. W wersji 3 ustawiasz zakresdrive.appdata, a także parametr zapytaniaspaces=appDataFolder, aby poprosić o dane aplikacji.
- Wszystkie operacje aktualizacji używają metody PATCH zamiast PUT.
- Aby wyeksportować dokumenty Google, użyj metody files.export.
- Działanie metody changes.listjest inne. Zamiast identyfikatorów zmian używaj nieprzejrzystych tokenów strony. Aby sprawdzić kolekcję zmian, najpierw wywołaj metodęchanges.getStartPageTokenw przypadku wartości początkowej. W przypadku kolejnych zapytań metodachanges.listzwraca wartośćnewStartPageToken.
- Metody aktualizacji odrzucają teraz żądania, które określają pola, w których nie można zapisywać danych.
- Pola v2 exportFormatsiimportFormatsw zasobieaboutto listy dozwolonych formatów importu lub eksportu. W wersji 3 są to mapy typów MIME możliwych miejsc docelowych wszystkich obsługiwanych importów lub eksportów.
- Aliasy appdataiappfolderw wersji 2 to terazappDataFolderw wersji 3.
- Zasób propertieszostanie usunięty z wersji 3. Zasóbfilesma poleproperties, które zawiera prawidłowe pary klucz-wartość. Polepropertieszawiera usługi publiczne, a poleappProperties– usługi prywatne, więc pole widoczności nie jest potrzebne.
- Pole modifiedTimew zasobiefilesaktualizuje czas ostatniej modyfikacji pliku przez dowolną osobę. W wersji 2 polemodifiedDatemożna było zmieniać podczas aktualizacji tylko wtedy, gdy ustawiono polesetModifiedDate.
- Pole viewedByMeTimew zasobiefilesnie jest aktualizowane automatycznie.
- Aby zaimportować formaty Dokumentów Google, ustaw odpowiedni cel mimeTypew treści zasobu. W wersji 2 ustawiasz?convert=true.
- Operacje importowania zwracają błąd 400, jeśli format nie jest obsługiwany.
- Czytelnicy i komentatorzy nie mogą wyświetlać uprawnień.
- Alias medla uprawnień zostanie usunięty.
- Niektóre funkcje były dostępne w ramach zasobu żądania, ale są teraz dostępne jako parametr żądania. Na przykład:- W wersji 2 możesz użyć metody children.delete, aby usunąć plik podrzędny z folderu nadrzędnego.
- W wersji 3 używasz tagu files.updatew przypadku elementu podrzędnego z tagiem?removeParents=parent_idw adresie URL.
 
- W wersji 2 możesz użyć metody 
Inne różnice
Pola i nazwy parametrów w wersji 3 są inne. Oto kilka przykładów:
- Właściwość namezastępuje właściwośćtitlew zasobiefiles.
- Timejest przyrostkiem wszystkich pól daty i godziny zamiast- Date.
- Operacje na listach nie używają pola itemsdo przechowywania zestawu wyników. Typ zasobu zawiera pole wyników (np.fileslubchanges).