Поделиться через


Поиск driveItems на диске

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

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

Разрешения

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

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All
Приложение Files.Read.All Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Примечание. Этот метод не поддерживает разрешение приложений Sites.Selected.

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 Текст запроса, используемый для поиска элементов. Для поиска можно использовать несколько полей, включая поля имени файла, метаданных и содержимого файла.

Пример

Запрос

В примере ниже выполняется поиск совпадения для запроса "Проект Contoso" в нескольких полях элементов диска пользователя, вошедшего в систему.

GET /me/drive/root/search(q='Contoso Project')

Отклик

Этот метод возвращает объект, который содержит коллекцию элементов 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='Contoso Project')

Отклик

Отклики при поиске на ресурсе 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", "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"
}

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

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