Z tego przewodnika dowiesz się, jak Google Drive API obsługuje kilka sposobów wyszukiwania plików i folderów.
Możesz użyć metody list w zasobie files, aby zwrócić wszystkie lub niektóre pliki i foldery użytkownika Dysku. Metoda list może też służyć do pobierania parametru fileId wymaganego w przypadku niektórych metod zasobów (np. metody get i metody update).
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, mimeType i resourceKey dla każdego pliku. Aby zwrócić inne pola, zobacz Zwracanie określonych pól.
Pobieranie pliku
Aby pobrać plik, użyj metody get w zasobie files z parametrem ścieżki fileId.
Jeśli nie znasz identyfikatora pliku, możesz wyświetlić listę wszystkich plików za pomocą metody list.
Metoda zwraca plik jako instancję zasobu files. Jeśli podasz parametr zapytania alt=media, odpowiedź będzie zawierać treść pliku w treści odpowiedzi. Aby pobrać lub wyeksportować plik, przeczytaj artykuł Pobieranie i eksportowanie plików.
Aby potwierdzić, że zdajesz sobie sprawę z ryzyka pobrania znanego złośliwego oprogramowania lub innych szkodliwych plików, ustaw parametr zapytania acknowledgeAbuse na true. To pole ma zastosowanie tylko wtedy, gdy ustawiony jest parametr alt=media, a użytkownik jest właścicielem pliku lub organizatorem dysku współdzielonego, na którym znajduje się plik.
Wyszukiwanie wszystkich plików i folderów na Moim dysku bieżącego użytkownika
Aby zwrócić wszystkie pliki i foldery, użyj metody list bez parametrów.
GET https://www.googleapis.com/drive/v3/files
wyszukiwanie konkretnych plików lub folderów na Moim dysku bieżącego użytkownika,
Aby wyszukać określony zestaw plików lub folderów, użyj ciągu zapytania q field
z metodą list, aby odfiltrować pliki do zwrócenia przez połączenie co najmniej jednego terminu wyszukiwania.
Składnia ciągu zapytania składa się z tych 3 części:
query_term operator values
Gdzie:
- query_termto wyszukiwane hasło lub pole, w którym chcesz wyszukać informacje.
- operatorokreśla warunek dla terminu zapytania.
- valuesto konkretne wartości, których chcesz użyć do filtrowania wyników wyszukiwania.
Na przykład ten ciąg zapytania filtruje wyszukiwanie, aby zwracać tylko foldery, ustawiając typ MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Aby wyświetlić wszystkie terminy zapytań dotyczące plików, zobacz Terminy zapytań dotyczące plików.
Aby wyświetlić wszystkie operatory zapytań, których możesz użyć do utworzenia zapytania, zobacz Operatory zapytań.
Przykłady ciągów zapytania
W tabeli poniżej znajdziesz przykłady podstawowych ciągów zapytania. Rzeczywisty kod zależy od biblioteki klienta używanej do wyszukiwania.
Musisz też użyć znaków zmiany znaczenia w nazwach plików, aby mieć pewność, że zapytanie działa prawidłowo. Jeśli na przykład nazwa pliku zawiera zarówno apostrof ('), jak i ukośnik lewy ("\"), poprzedź je ukośnikiem lewym: name
contains 'quinn\'s paper\\essay'.
| Co chcesz wyszukać | Przykład | 
|---|---|
| Pliki o nazwie „hello” | name = 'hello' | 
| Pliki, których nazwa zawiera słowa „hello” i „goodbye” | name contains 'hello' and name contains 'goodbye' | 
| Pliki, których nazwa nie zawiera słowa „hello” | not name contains 'hello' | 
| Pliki zawierające tekst „ważne” i znajdujące się w koszu | fullText contains 'important' and trashed = true | 
| Pliki zawierające słowo „hello” | fullText contains 'hello' | 
| Pliki, które nie zawierają słowa „hello” | not fullText contains 'hello' | 
| Pliki zawierające dokładnie wyrażenie „hello world” | fullText contains '"hello world"' | 
| Pliki z zapytaniem zawierającym znak „\” (np. „\authors”). | fullText contains '\\authors' | 
| Pliki, które są folderami | mimeType = 'application/vnd.google-apps.folder' | 
| Pliki, które nie są folderami | mimeType != 'application/vnd.google-apps.folder' | 
| Pliki zmodyfikowane po określonej dacie (domyślna strefa czasowa to UTC) | modifiedTime > '2012-06-04T12:00:00' | 
| pliki obrazów lub filmów zmodyfikowane po określonej dacie; | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') | 
| pliki oznaczone gwiazdką, | starred = true | 
| pliki w kolekcji (np. identyfikator folderu w kolekcji parents); | '1234567' in parents | 
| Pliki w folderze danych aplikacji w kolekcji | 'appDataFolder' in parents | 
| Pliki, których właścicielem jest użytkownik „test@example.org” | 'test@example.org' in owners | 
| Pliki, do których użytkownik „test@example.org” ma uprawnienia do zapisu | 'test@example.org' in writers | 
| Pliki, do których członkowie grupy „grupa@example.org” mają uprawnienia do zapisu | 'group@example.org' in writers | 
| Pliki udostępnione autoryzowanemu użytkownikowi, które mają w nazwie słowo „hello”. | sharedWithMe and name contains 'hello' | 
| Pliki z niestandardową właściwością pliku widoczną dla wszystkich aplikacji | properties has { key='mass' and value='1.3kg' } | 
| Pliki z niestandardową właściwością pliku prywatną dla aplikacji wysyłającej prośbę | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } | 
| Pliki, które nie zostały udostępnione nikomu ani żadnej domenie (tylko prywatne lub udostępnione określonym użytkownikom lub grupom). | visibility = 'limited' | 
Filtrowanie wyników wyszukiwania za pomocą biblioteki klienta
Poniższy przykładowy kod pokazuje, jak używać biblioteki klienta do filtrowania wyników wyszukiwania według nazw plików i identyfikatorów plików JPEG. W tym przykładzie używamy terminu mimeType, aby zawęzić wyniki do plików typu image/jpeg. Ustawia też wartość spaces na drive, aby jeszcze bardziej zawęzić wyszukiwanie do przestrzeni na Dysku. Gdy nextPageToken zwróci null, nie będzie więcej wyników.
Java
Python
Node.js
PHP
Wyszukiwanie plików z niestandardową właściwością pliku
Aby wyszukać pliki z niestandardową właściwością pliku, użyj terminu wyszukiwania properties lub appProperties z kluczem i wartością. Aby na przykład wyszukać niestandardową właściwość pliku, która jest prywatna dla aplikacji wysyłającej żądanie, o nazwie additionalID i wartości 8e8aceg2af2ge72e78:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
Więcej informacji znajdziesz w artykule Dodawanie niestandardowych właściwości pliku.
Wyszukiwanie plików z określoną etykietą lub wartością pola
Aby wyszukać pliki z określonymi etykietami, użyj terminu wyszukiwania labels z konkretnym identyfikatorem etykiety. Na przykład: 'labels/LABEL_ID' in
labels. Jeśli operacja się uda, treść odpowiedzi będzie zawierała wszystkie instancje plików, do których zastosowano etykietę.
Aby wyszukać pliki bez określonego identyfikatora etykiety: Not
'labels/LABEL_ID' in labels.
Możesz też wyszukiwać pliki na podstawie wartości określonych pól. Aby na przykład wyszukać pliki z wartością tekstową:labels/LABEL_ID.text_field_id ='TEXT'
Więcej informacji znajdziesz w artykule Wyszukiwanie plików z konkretną etykietą lub wartością pola.
Wyszukiwanie w korpusach
Wyszukiwania, które wywołują metodę list, domyślnie używają corpora user. Aby wyszukać inne korpusy, np. pliki udostępnione domain, ustaw parametr corpora.
W ramach jednego zapytania można przeszukiwać wiele korpusów, ale jeśli połączone korpusy są zbyt duże, mogą zostać zwrócone niepełne wyniki. Jeśli w treści odpowiedzi występuje incompleteSearch
true, oznacza to, że nie zwrócono wszystkich dokumentów. W takim przypadku zawęź zapytanie, wybierając inny korpus, np. user lub drive.
Powiązane artykuły
- Wyszukiwanie dysków współdzielonych
- Zapytania i operatory wyszukiwania
- Obsługiwane typy MIME w Google Workspace i na Dysku Google
- Role i uprawnienia
- Wyszukiwanie plików z określoną etykietą lub wartością pola