Поиск элементов DriveItem на диске

Поиск элементов, соответствующих запросу, в иерархии элементов. Вы можете выполнить поиск в иерархии папок, на всем диске или среди файлов, к которым предоставлен доступ текущему пользователю.

Разрешения

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешения Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) 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}')

Отклик

Этот метод возвращает объект, который содержит коллекцию элементов DriveItem, соответствующих условиям поиска. Если не будет найдено ни одного элемента, то будет возвращена пустая коллекция.

Если будет найдено слишком много совпадений, отклик будет разбит на страницы, а свойство @odata.nextLink будет содержать URL-адрес на следующую страницу с результатами. Чтобы указать количество элементов на странице, вы можете использовать параметр запроса $top.

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"
}

Поиск элементов, к которым пользователь может получить доступ

Помимо поиска элементов на диске ваше приложение может выполнять более широкий поиск и включать элементы, к которым текущему пользователю предоставлен доступ. Чтобы расширить область поиска, используйте метод search в ресурсе Drive.

Пример

GET /me/drive/search(q='{search-query}')

Отклик

Отклики при поиске на ресурсе Drive могут включать элементы, расположенные за пределами диска (элементы, к которым текущему пользователю предоставлен доступ). Эти элементы будут содержать аспект 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 для бизнеса и SharePoint поиск выполняется в иерархии папок, файлы изображений могут не возвращаться в результатах.

Ответы с ошибками

Дополнительные сведения о возвращении ошибок см. в статье Ответы с ошибками.