searchEntity: query

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

Важно!

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

Выполнение указанного поискового запроса. Результаты поиска будут предоставлены в ответе.

Предостережение

Свойства ресурсов, которые использовались в запросах и ответах об API в Поиск (Майкрософт) были переименованы, удалены или больше не поддерживаются. См. дополнительные сведения о прекращении поддержки. Соответствующее обновление запросов об API в любых вышедших ранее приложениях.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальное обслуживание Правительство США L4 Правительство США L5 (DOD) Китай, обслуживаемый 21Vianet
✅ ✅ ✅ ✅

Разрешения

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

Тип разрешения Разрешения с наименьшим объемом привилегий Разрешения с более высоким уровнем привилегий
Делегированные (рабочая или учебная учетная запись) Mail.Read Акроним.Прочти.Все, Закладка.Прочесть.Все, Календари.Прочитано, Chat. Чтение, ExternalItem.Read.All, Files. Прочитано.все, Вопрос.Прочитано.Все, Сайты.Прочитано.Все
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение Files.Read.All Sites.Read.All

HTTP-запрос

POST /search/query

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.

Параметр Тип Описание
просит Сбор searchRequest Коллекция из одного или нескольких поисковых запросов, каждый из которых отформатирован в виде большого двоичного объекта JSON. Каждый большой двоичный объект JSON содержит типы ресурсов, ожидаемых в отклике, базовые источники, параметры разбиения на страницы, запрашиваемые поля и фактический поисковый запрос. Помните об известных ограничениях на поиск определенных комбинаций типов сущностей, а также сортировку или агрегирование результатов поиска.

Отклик

В случае успеха этот метод возвращает HTTP 200 OK код отклика и коллекцию объектов searchResponse в тексте ответа.

Каждый объект searchHit может включать свойство SensitivityLabel , если ресурс результата имеет метку конфиденциальности.

Примеры

Пример 1. Обычный вызов для выполнения поискового запроса

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

Запрос

POST https://graph.microsoft.com/beta/search/query
Content-type: application/json

{
  "requests": [
    {
      "entityTypes": [
        "externalItem"
      ],
      "contentSources": [
        "/external/connections/connectionfriendlyname"
      ],
      "region": "US",
      "query": {
        "queryString": "contoso product"
      },
      "from": 0,
      "size": 25,
      "fields": [
        "title",
        "description"
      ]
    }
  ]
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "searchTerms": [
        "searchTerms-value"
      ],
      "hitsContainers": [
        {
          "hits": [
            {
              "hitId": "1",
              "rank": 1,
              "summary": "_summary-value",
              "resource": "The source field will contain the underlying graph entity part of the response"
            }
          ],
          "total": 47,
          "moreResultsAvailable": true
        }
      ]
    }
  ]
}

Пример 2. Простой вызов queryTemplate

В следующем примере показано, как использовать запрашиваемое свойство createdBy для получения всех файлов, созданных пользователем.

Запрос

POST https://graph.microsoft.com/beta/search/query
Content-type: application/json

{
  "requests": [
    {
      "entityTypes": [
        "listItem"
      ],
      "region": "US",
      "query": {
        "queryString": "contoso",
        "queryTemplate":"{searchTerms} CreatedBy:Bob"
      },
      "from": 0,
      "size": 25
    }
  ]
}

Отклик

Ниже показан пример отклика.

HTTP/1.1 200 OK
Content-type: application/json

{
    "value": [
        {
            "searchTerms": [
                "contoso"
            ],
            "hitsContainers": [
                {
                    "hits": [
                        {
                            "hitId": "1",
                            "rank": 1,
                            "summary": "_summary-value",
                            "resource": {
                                "@odata.type": "#microsoft.graph.listItem",
                                "id": "c23c7035-73d6-4bad-8901-9e2930d4be8e",
                                "createdBy": {
                                    "user": {
                                        "displayName": "Bob",
                                        "email": "Bob@contoso.com"
                                    }
                                },
                                "createdDateTime": "2021-11-19T17:04:18Z",
                                "lastModifiedDateTime": "2023-03-09T18:52:26Z"
                            },
                            "sensitivityLabel": {
                                "sensitivityLabelId": "f71f1f74-bf1f-4e6b-b266-c777ea76e288",
                                "displayName": "Confidential",
                                "tooltip": "Data intended only for approved recipients.",
                                "priority": 4,
                                "color": "#FF8C00"
                            }
                        }
                    ],
                    "total": 1,
                    "moreResultsAvailable": false
                }
            ]
        }
    ]
}