ドライブ内の DriveItem を検索する
クエリと一致するアイテムを対象にアイテムの階層を検索します。 フォルダー階層内、ドライブ全体、現在のユーザーと共有されるファイル内で検索できます。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) |
---|---|
委任 (職場または学校のアカウント) | Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All |
委任 (個人用 Microsoft アカウント) | Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All |
アプリケーション | Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All |
HTTP 要求
GET /drives/{drive-id}/root/search(q='{search-text}')
GET /groups/{group-id}/drive/root/search(q='{search-text}')
GET /me/drive/root/search(q='{search-text}')
GET /sites/{site-id}/drive/root/search(q='{search-text}')
GET /users/{user-id}/drive/root/search(q='{search-text}')
オプションのクエリ パラメーター
このメソッドは、応答を$expand
カスタマイズするために、$select
$skipToken
、$top
および $orderby
OData クエリ パラメーターをサポートします。
関数パラメーター
名前 | 値 | 説明 |
---|---|---|
q |
string | アイテムの検索に使用するクエリ テキスト。 値は、ファイル名、メタデータ、およびファイルのコンテンツを含む複数のフィールドに渡って照合できます。 |
例
要求
ここでは、現在のユーザーの OneDrive を検索する要求の例を示します。
GET /me/drive/root/search(q='{search-query}')
応答
このメソッドは、検索条件に一致する DriveItems のコレクション含んでいるオブジェクトを返します。 アイテムが見つからない場合は、空のコレクションが返されます。
一致する値が多すぎる場合、応答はページングされ、 @odata.nextLink プロパティには結果の次のページへの URL が含まれます。 クエリ パラメーターを使用すると、ページ内のアイテム数を指定できます。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "0123456789abc!123",
"name": "Contoso Project",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!123" }
},
{
"id": "0123456789abc!456",
"name": "Contoso Project 2016",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!456" }
}
],
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/drive/root/search(query='contoso project')&skipToken=1asdlnjnkj1nalkm!asd"
}
ユーザーがアクセスできるアイテムの検索
ドライブ内のアイテムの検索に加えて、アプリでは現在のユーザーと共有されるアイテムを含めるように、検索範囲を広げることができます。 検索範囲を広げるには、Drive リソースの search メソッドを使用します。
例
GET /me/drive/search(q='{search-query}')
応答
ドライブ リソースからの検索時の応答には、ドライブの外部のアイテム (現在のユーザーと共有されているアイテム) が含まれていることがあります。 こうしたアイテムには、それらが対象のドライブの外部に保存されていることを示す、remoteItem ファセットが含まれます。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "0123456789abc!123",
"name": "Contoso Project",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!123" },
"remoteItem": { "id": "!23141901", "parentReference": { "driveId": "s!1020101jlkjl12lx" } }
},
{
"id": "0123456789abc!456",
"name": "Contoso Project 2016",
"folder": {},
"searchResult": { "onClickTelemetryUrl": "https://bing.com/0123456789abc!456" }
}
],
"@odata.nextLink": "https://graph.microsoft.com/v1.0/me/drive/root/search(query='contoso project')&skipToken=1asdlnjnkj1nalkm!asd"
}
注釈
注: OneDrive for Business および SharePointでは、フォルダー階層で検索すると、結果に画像ファイルの種類が返されないことがあります。
エラー応答
エラーがどのように返されるかの詳細については、「エラー応答」を参照してください。