Najnowsza wersja interfejsu Google Drive API to v3. W wersji 3 wydajność jest lepsza, wyszukiwania zwracają tylko podzbiór pól. Używaj bieżącej wersji, chyba że jest to konieczne w kolekcji v2. Jeśli używasz wersji v2, rozważ migracji 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 artykule porównanie interfejsów Drive API w wersjach 2 i 3 odniesienie.
Jeśli chcesz nadal używać wersji 2, zapoznaj się z poprawką do interfejsu Guide to Drive API (wersja 2), aby dowiedzieć się, jak niektóre instrukcje w wersji 3 należy zmienić przewodniki dla programistów wersji 2.
Aby dowiedzieć się więcej o ulepszeniach interfejsu Drive API w wersji 3, obejrzyj obejrzyj film, w którym inżynierowie Google omawiają nowy wygląd interfejsu API.
Ulepszenia wersji 3
Aby zoptymalizować wydajność i uprościć działanie interfejsu API, w wersji 3: i 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,
zwracany jest tylko podzbiór często używanych pól. Więcej informacji:
fields
, patrz metodafiles.list
i metodędrives.list
. - Prawie wszystkie metody zwracające odpowiedź wymagają teraz
fields
. Listę wszystkich metod wymagających atrybutufields
znajdziesz tutaj: Dokumentacja interfejsu Drive API. - Zasoby ze zduplikowanymi możliwościami zostały usunięte. Oto kilka przykładów:
- Metoda
files.list
działa tak samo jak metoda KolekcjeChildren
iParents
, więc zostały usunięte z wersji 3. - Metody
Realtime.*
zostały usunięte.
- Metoda
- Dane aplikacji nie są domyślnie zwracane w wynikach wyszukiwania. W wersji v2 możesz określić
drive.appdata
, które zwraca dane aplikacji zfiles.list
ichanges.list
ale spowalnia wydajność. W wersji 3 ustawiasz zakresdrive.appdata
, oraz ustawić parametr zapytaniaspaces=appDataFolder
tak, aby danych aplikacji. - Wszystkie operacje aktualizacji używają parametru PATCH zamiast PUT.
- Aby wyeksportować Dokumenty Google, użyj
files.export
. - Metoda
changes.list
działa inaczej. Zamiast identyfikatorów zmiany użyj nieprzejrzyste tokeny stron. Aby przeprowadzić ankietę w kolekcji zmian, najpierw wywołaj funkcjęchanges.getStartPageToken
dla wartości początkowej. W przypadku kolejnych zapytań atrybutchanges.list
zwraca wartośćnewStartPageToken
. - Metody aktualizacji odrzucają teraz żądania określające pola, których nie można zapisać.
- Pola
exportFormats
iimportFormats
(wersja 2) w tabeliabout
zasób to listy w dozwolonych formatach importu i eksportu. W wersji 3 są to mapy typu MIME możliwe cele dla wszystkich obsługiwanych importów lub eksportów. - Aliasy
appdata
iappfolder
w wersji 2 są terazappDataFolder
w wersji 3. - Zasób
properties
został usunięty z wersji 3. Zasóbfiles
ma poleproperties
zawierający pary klucz-wartość „prawda”. Poleproperties
zawiera publiczne a poleappProperties
zawiera właściwości prywatne, więc pole widoczności nie jest potrzebne. - Pole
modifiedTime
w zasobiefiles
aktualizuje czas ostatnio każdy użytkownik zmodyfikował plik. W wersji 2 polemodifiedDate
było możliwe tylko do zmiany przy aktualizacji, jeśli ustawisz polesetModifiedDate
. - Pole
viewedByMeTime
w zasobiefiles
nie jest automatycznie . - Aby zaimportować formaty Dokumentów Google, ustaw odpowiedni docelowy element
mimeType
w treści zasobu. W wersji 2 masz ustawioną wartość?convert=true
. - Operacje importu zwracają błąd 400, jeśli format nie jest obsługiwany.
- Czytelnicy i komentujący nie mogą wyświetlać uprawnień.
- Alias
me
uprawnień został usunięty. - Niektóre funkcje były dostępne jako część zasobu żądania, ale są
dostępny jako parametr żądania. Na przykład:
- W wersji 2 za pomocą polecenia
children.delete
możesz usunąć plik podrzędny z folder nadrzędny. - W wersji 3 używasz konta
files.update
w elemencie podrzędnym z?removeParents=parent_id
w adresie URL.
- W wersji 2 za pomocą polecenia
Inne różnice
Nazwy pól i parametrów są inne w wersji 3. Oto kilka przykładów:
- Właściwość
name
zastępujetitle
w zasobiefiles
. Time
to sufiks dla wszystkich pól daty i godziny zamiastDate
.- Operacje wyświetlania listy nie wykorzystują pola
items
do przechowywania zestawu wyników. typ zasobu zawiera pole na wyniki (np.files
lubchanges
).