ドライブ内の 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および $orderbyOData クエリ パラメーターをサポートします。

関数パラメーター

名前 説明
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では、フォルダー階層で検索すると、結果に画像ファイルの種類が返されないことがあります。

エラー応答

エラーがどのように返されるかの詳細については、「エラー応答」を参照してください。