Interfejs Google Drive API obsługuje kilka sposobów wyszukiwania plików i folderów.
Za pomocą metody files.list
możesz zwrócić wszystkie lub niektóre pliki i foldery użytkownika Dysku. Metody files.list
można też używać do pobierania wartości fileId
wymaganych przez niektóre metody zasobów (takie jak 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 określonych plików lub folderów na Moim dysku bieżącego użytkownika;
Aby wyszukać określony zestaw plików lub folderów, użyj pola ciągu zapytania q
z metodą files.list
, aby odfiltrować pliki, które mają zostać zwrócone, łącząc co najmniej 2 wyszukiwane terminy.
Ciąg tekstowy zapytania składa się z tych 3 części:
query_term operator values
Gdzie:
query_term
to zapytanie lub pole, w którym ma być przeprowadzone wyszukiwanie.operator
określa warunek wyszukiwanego hasła.values
to konkretne wartości, których chcesz użyć do filtrowania wyników wyszukiwania.
Aby wyświetlić hasła i operatory zapytania, z których możesz korzystać w plikach i folderach filtrów, przeczytaj artykuł Wyszukiwane hasła i operatory.
Na przykład ten ciąg zapytania filtruje wyszukiwanie tak, aby zwracały tylko foldery, ustawiając typ MIME:
q: mimeType = 'application/vnd.google-apps.folder'
Więcej informacji o typach MIME znajdziesz w artykule Typy MIME obsługiwane przez Google Workspace i Dysk Google.
Przykłady ciągów zapytań
W tabeli poniżej znajdziesz przykłady podstawowych ciągów zapytań. Dokładny kod zależy od biblioteki klienta używanej do wyszukiwania.
Musisz też użyć kodó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 znak ukośnika lewego ("\"
), użyj ukośnika lewego, by zmienić znaczenie tych znaków: name
contains 'quinn\'s paper\\essay'
.
Co chcesz zapytać | Przykład |
---|---|
Pliki o nazwie „hello” | name = 'hello' |
Pliki o nazwie zawierającej słowa „Cześć” i „do widzenia” | name contains 'hello' and name contains 'goodbye' |
Pliki o nazwie, która nie zawiera słowa „Cześć” | not name contains 'hello' |
pliki zawierające tekst „ważne” oraz 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 wyrażenie „hello world” | fullText contains '"hello world"' |
Pliki z zapytaniem zawierającym znak „"” (na przykład „\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 użytkownicy grupy „group@example.org” mają uprawnienia do zapisu | 'group@example.org' in writers |
Pliki udostępnione autoryzowanemu użytkownikowi, których nazwa zawiera „hello”. | sharedWithMe and name contains 'hello' |
Pliki z niestandardową właściwością widoczną dla wszystkich aplikacji | properties has { key='mass' and value='1.3kg' } |
pliki z niestandardową właściwością pliku, która jest prywatna dla aplikacji przesyłającej prośbę; | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
pliki, które nie zostały udostępnione nikomu ani żadnym domenom (tylko prywatne lub udostępnione konkretnym użytkownikom lub grupom); | visibility = 'limited' |
Filtrowanie wyników wyszukiwania za pomocą biblioteki klienta
Poniższy przykład kodu pokazuje, jak za pomocą biblioteki klienta filtrować wyniki wyszukiwania pod kątem nazw i identyfikatorów plików JPEG. W tym przykładzie użyto zapytania mimeType
, aby zawęzić wyniki do plików typu image/jpeg
. Ustawia też wartość spaces
na drive
, aby jeszcze bardziej zawęzić wyszukiwanie do Drive Space. Gdy nextPageToken
zwraca wartość null
, nie ma więcej wyników.
Java
Python
Node.js
PHP
Wyszukiwanie plików za pomocą niestandardowej właściwości pliku
Aby wyszukać pliki z niestandardową właściwością pliku, użyj terminu zapytania properties
lub appProperties
z kluczem i wartością. Aby np. wyszukać niestandardową właściwość pliku, która jest prywatna dla aplikacji przesyłającej żądanie o nazwie additionalID
o 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 zapytania wyszukiwania labels
z określonym identyfikatorem etykiety. Na przykład: 'labels/LABEL_ID' in
labels
. W przypadku powodzenia treść odpowiedzi zawiera wszystkie wystąpienia pliku, 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 określonych wartości pól. Aby na przykład wyszukać pliki o wartości tekstowej:
labels/LABEL_ID.text_field_id ='TEXT'
.
Więcej informacji znajdziesz w artykule Wyszukiwanie plików z określonym oznaczeniem lub wartością pola.
Wyszukiwanie w korpusach
Wyszukiwania, które wywołują files.list
, domyślnie używają corpora
user
. Aby wyszukiwać w innych korpusach, np. w plikach udostępnionych z użyciem domain
, ustaw parametr corpora
.
W jednym zapytaniu można przeszukać wiele korpusów, ale jeśli połączone korpusy są zbyt duże, wyniki mogą być niepełne. Jeśli incompleteSearch
ma w treści odpowiedzi wartość true
, oznacza to, że nie zostały zwrócone żadne dokumenty. W takim przypadku należy zawęzić zapytanie, wybierając inną 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