Google Drive API では、ファイルやフォルダの検索に複数の方法がサポートされています。
files.list
メソッドを使用して、次を返すことができます。
ドライブ ユーザーのファイルやフォルダの全体または一部へのアクセスを制御できます。files.list
メソッドを使用して、リソースに必要な fileId
を取得することもできます。
メソッド(files.get
、
files.update
)。
現在のユーザーのマイドライブ内のすべてのファイルとフォルダを検索する
パラメータなしで files.list
メソッドを使用すると、すべてのファイルと
できます。
GET https://www.googleapis.com/drive/v3/files
現在のユーザーのマイドライブ内の特定のファイルまたはフォルダを検索する
特定のファイルまたはフォルダのセットを検索するには、クエリ文字列の q
フィールドを使用します。
これは files.list
メソッドで、
複数の検索キーワードを組み合わせて返すことができます。
クエリ文字列は、次の 3 つの部分で構成されます。
query_term operator values
ここで
query_term
は、検索するクエリ語句またはフィールドです。operator
には、クエリ語句の条件を指定します。values
は、検索のフィルタに使用する特定の値です。 表示されます。
ファイルやフォルダのフィルタに使用できるクエリ語句と演算子を表示するには、 検索クエリの語句と演算子をご覧ください。
たとえば、次のクエリ文字列は、検索結果のみが MIME タイプを設定します。
q: mimeType = 'application/vnd.google-apps.folder'
MIME タイプについて詳しくは、Google Workspace と Google ドライブをご覧ください。 MIME タイプを拒否します。
クエリ文字列の例
次の表に、基本的なクエリ文字列の例を示します。実際のコード は、検索に使用するクライアント ライブラリによって異なります。
また、ファイル名に含まれる特殊文字をエスケープして、
確認しますたとえば、ファイル名にアポストロフィと
('
)とバックスラッシュ("\"
)文字の組み合わせを使用する場合は、バックスラッシュを使用してエスケープします(例: name
contains 'quinn\'s paper\\essay'
)。
クエリの対象 | 例 |
---|---|
「hello」という名前のファイル | name = 'hello' |
名前に「hello」という単語を含むファイル「さようなら」 | name contains 'hello' and name contains 'goodbye' |
名前に「hello」という単語が含まれていないファイル | not name contains 'hello' |
「重要」というテキストを含むファイルとゴミ箱 | fullText contains 'important' and trashed = true |
「hello」という単語を含むファイル | fullText contains 'hello' |
「hello」という単語が含まれていないファイル | not fullText contains 'hello' |
「hello world」に完全に一致するフレーズを含むファイル | fullText contains '"hello world"' |
「\"」を含むクエリを含むファイル文字(「\authors」など) | fullText contains '\\authors' |
フォルダであるファイル | mimeType = 'application/vnd.google-apps.folder' |
フォルダ以外のファイル | mimeType != 'application/vnd.google-apps.folder' |
指定した日付以降に変更されたファイル(デフォルトのタイムゾーンは UTC) | modifiedTime > '2012-06-04T12:00:00' |
特定の日付より後に変更された画像ファイルまたは動画ファイル | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
スター付きのファイル | starred = true |
コレクション内のファイル(parents コレクション内のフォルダ ID など) |
'1234567' in parents |
コレクションのアプリデータ フォルダ内のファイル | 'appDataFolder' in parents |
ユーザー「test@example.org」のファイルオーナー | 'test@example.org' in owners |
ユーザー「test@example.org」のファイル書き込み権限がある | 'test@example.org' in writers |
グループ「group@example.org」のメンバーのファイル書き込み権限がある | 'group@example.org' in writers |
「hello」という承認済みユーザーと共有されているファイル含まれる | sharedWithMe and name contains 'hello' |
すべてのアプリに公開可能なカスタム ファイル プロパティを含むファイル | properties has { key='mass' and value='1.3kg' } |
リクエスト元のアプリ専用のカスタム ファイル プロパティがあるファイル | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
誰もまたはドメインと共有していないファイル(限定公開のみ、または特定のユーザーやグループと共有) | visibility = 'limited' |
クライアント ライブラリを使用して検索結果をフィルタする
次のコードサンプルは、クライアント ライブラリを使用して検索をフィルタする方法を示しています。
JPEG ファイルのファイル名と ID に変換されます。このサンプルでは mimeType
を使用します。
クエリ語句を image/jpeg
タイプのファイルに絞り込んでください。また、
spaces
から drive
に変更して、検索をさらに ドライブに絞り込む
できます。nextPageToken
が null
を返すと、
これ以上結果はありません。
Java
Python
Node.js
PHP
カスタム ファイル プロパティを使用してファイルを検索する
カスタム ファイル プロパティを持つファイルを検索するには、properties
または
検索クエリ キーワード appProperties
をキーと値で指定します。たとえば、
リクエスト元のアプリ専用のカスタム ファイル プロパティを
additionalID
の値は 8e8aceg2af2ge72e78
に置き換えます。
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
詳細については、カスタム ファイルを追加する プロパティをご覧ください。
特定のラベルまたはフィールド値を持つファイルを検索する
特定のラベルの付いたファイルを検索するには、labels
検索クエリを使用します
関連付けられます。例: 'labels/LABEL_ID' in
labels
。成功した場合、レスポンスの本文には、terraform plan または terraform apply の
適用しました。
特定のラベル ID がないファイルを検索するには、Not
'labels/LABEL_ID' in labels
を使用します。
特定のフィールド値に基づいてファイルを検索することもできます。たとえば、
text 値でファイルを検索する:
labels/LABEL_ID.text_field_id ='TEXT'
。
詳しくは、特定のラベルまたはフィールドを持つファイルを検索する あります。
コーパスを検索
files.list
を呼び出す検索では、
user
の corpora
(デフォルト)。検索
その他のコーパス(domain
で共有されているファイルなど)については、corpora
パラメータを指定します。
1 つのクエリで複数のコーパスが検索される可能性があるが、結果は不完全である
結合されたコーパスが大きすぎる場合は、返されることがあります。incompleteSearch
が
true
を返す場合、すべてのドキュメントが返されませんでした。もし
次のような別のコーパスを選択してクエリを絞り込む必要があります。
user
または drive
。
関連トピック
- 共有ドライブを検索する
- 検索語句と演算子
- Google Workspace と Google ドライブでサポートされている MIME タイプ
- ロールと権限
- 特定のラベルまたはフィールド値を持つファイルを検索する