Interfejs Google Drive API obsługuje kilka sposobów wyszukiwania plików i folderów.
Możesz użyć metody files.list
, aby zwrócić wszystkie pliki i foldery użytkownika Dysku
lub niektóre z nich. Metoda files.list
może też służyć do pobierania fileId
wymaganej przez niektóre metody zasobów (np. files.get
czy 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 żadnych 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 przefiltrować pliki do wyświetlenia przez połączenie co najmniej 1 wyszukiwanego hasła.
Ciąg zapytania składa się z tych 3 części:
query_term operator values
Gdzie:
query_term
to wyszukiwane hasło lub pole wyszukiwania.operator
określa warunek wyszukiwanego hasła.values
to konkretne wartości, których chcesz używać 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 niektórych podstawowych ciągów zapytań. Rzeczywisty kod różni się w zależności od biblioteki klienta używanej do wyszukiwania.
Aby zapytanie działało prawidłowo, musisz też zmieniać znaczenie znaków specjalnych w nazwach plików. 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'
.
Czego dotyczy zapytanie | 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 „Cześć” | fullText contains 'hello' |
Pliki bez słowa „Cześć” | not fullText contains 'hello' |
pliki zawierające wyrażenie „Witaj świecie”; | fullText contains '"hello world"' |
Pliki z zapytaniem zawierającym znak „” (np. „\authors”) | fullText contains '\\authors' |
Pliki będące 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 graficzne lub wideo 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, w przypadku których użytkownik „test@example.org” ma uprawnienia do zapisu | 'test@example.org' in writers |
Pliki, w przypadku których członkowie grupy „grupa@example.org” mają uprawnienia do zapisu | 'group@example.org' in writers |
Pliki udostępnione upoważnionemu użytkownikowi z wyrazem „hello” w nazwie | sharedWithMe and name contains 'hello' |
Pliki z własną właściwością pliku widoczną dla wszystkich aplikacji | properties has { key='mass' and value='1.3kg' } |
Pliki z własnością pliku niestandardowego, prywatne dla aplikacji, która wysłała żądanie | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
pliki, które nie zostały udostępnione nikomu ani w żadnej domenie (tylko prywatne albo 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 za pomocą biblioteki klienta filtrować wyniki wyszukiwania według 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ż spaces
na drive
, aby dodatkowo zawęzić wyszukiwanie do miejsca na Dysku. 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 wyszukiwanego hasła properties
lub appProperties
z kluczem i wartością. Aby na przykład znaleźć właściwość pliku niestandardowego, 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 wyszukiwanego hasła labels
z określonym 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, w 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 np. 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.
Przeszukaj korpusy
W przypadku wyszukiwań, które wywołują metodę files.list
, domyślnie stosowana jest wartość corpora
z wartości user
. Aby wyszukać inne korpusy, takie jak pliki udostępnione domain
, ustaw parametr corpora
.
W jednym zapytaniu można przeszukiwać wiele korpusów, ale jeśli połączone korpusy będą zbyt duże, mogą zostać zwrócone niekompletne wyniki. Jeśli incompleteSearch
ma w treści odpowiedzi wartość true
, oznacza to, że nie zostały zwrócone żadne dokumenty. W takim przypadku doprecyzuj zapytanie, wybierając inny zbiór, np. user
lub drive
.
Powiązane artykuły
- Wyszukiwanie dysków współdzielonych
- Wyszukiwane hasła i operatory
- Typy MIME obsługiwane przez Google Workspace i Dysk Google
- Role i uprawnienia
- Wyszukiwanie plików z określoną etykietą lub wartością pola