Interfejs Google Drive API obsługuje kilka sposobów wyszukiwania plików i folderów.
Metoda files.list
umożliwia zwrócenie wszystkich lub niektórych plików i folderów użytkownika Dysku. Metody files.list
można też używać do pobierania parametru fileId
wymaganego w przypadku niektórych metod zasobów (np. files.get
i files.update
).
Wyszukiwanie wszystkich plików i folderów na Moim dysku bieżącego użytkownika
Aby zwrócić wszystkie pliki i foldery, użyj metody files.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ą files.list
, aby odfiltrować pliki do zwrócenia, łącząc co najmniej 1 termin wyszukiwania.
Ciąg zapytania składa się z tych 3 części:
query_term operator values
Gdzie:
query_term
to wyszukiwane hasło lub pole, w którym chcesz wyszukać informacje.operator
określa warunek dla terminu zapytania.values
to konkretne wartości, których chcesz użyć do filtrowania wyników wyszukiwania.
Aby wyświetlić terminy i operatory zapytań, których możesz użyć do filtrowania plików i folderów, zapoznaj się z artykułem Terminy i operatory zapytań.
Na przykład ten ciąg zapytania filtruje wyszukiwanie, aby zwracać tylko foldery, ustawiając typ MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Więcej informacji o typach MIME znajdziesz w artykule Obsługiwane typy MIME w Google Workspace i na Dysku Google.
Przykłady ciągów zapytania
W tabeli poniżej znajdziesz przykłady podstawowych ciągów zapytań. 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 np. 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 żadnym osobom ani domenom (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ą
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. 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 określoną etykietą lub wartością pola.
Wyszukiwanie w korpusach
Wyszukiwania, które wywołują files.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