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


Список людей

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

Важно!

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

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

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

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

Разрешения

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

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

HTTP-запрос

GET /me/people
GET /users/{id | userPrincipalName}/people

Необязательные параметры запросов

Этот метод поддерживает следующие параметры запроса OData для настройки ответа.

Имя Значение Описание
$filter string Позволяет возвращать в отклике только тех людей, чьи записи содержат указанные критерии.
$orderby строка По умолчанию люди в ответе сортируются по степени соответствия запросу. Этот порядок можно изменить с помощью параметра $orderby.
$search string Поиск пользователей по имени или псевдониму. Поддерживается нечеткое соответствие. Параметр применяется только для поиска людей, относящихся к вошедшему пользователю, а не для поиска людей, относящихся к другим пользователям. Также поддерживает ключевое слово topic для поиска людей с учетом тем, извлеченных из бесед электронной почты с определенным человеком. Сведения и примеры см. в разделе Выполнение нечеткого поискав статье Использование API Люди для получения сведений о наиболее важных для вас людях.
$select string Разделенный запятыми список свойств, включаемых в ответ. Для оптимальной производительности выберите только подмножество необходимых свойств.
$skip int Пропустите первые n результатов, полезных для разбиения по страницам. Пропуск не поддерживается при использовании $search.
$top int Максимальное количество результатов, возвращаемых на странице результатов. Дополнительные сведения см. в разделе Top Parameter.

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

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

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

Не указывайте текст запроса для этого метода.

Отклик

В случае успешного 200 OK выполнения этот метод возвращает код отклика и коллекцию объектов person в тексте ответа.

Примеры

Обзор

Запросы в этом разделе получают людей, наиболее подходящих для пользователя, выполнившего вход (/me), на основе общения, совместной работы и деловых связей.

По умолчанию каждый ответ возвращает 10 записей, но это можно изменить с помощью параметра $top . Для этих запросов требуется Люди. Разрешение на чтение.

Запрос

Ниже приведен пример запроса по умолчанию.

GET https://graph.microsoft.com/beta/me/people

Отклик

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

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

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

{
    "value": [
        {
            "id": "33b43a5b-87d6-41ec-91f8-a2610048105f",
            "displayName": "Marketing",
            "givenName": null,
            "surname": null,
            "birthday": "",
            "personNotes": "",
            "isFavorite": false,
            "title": null,
            "companyName": null,
            "yomiCompany": "",
            "department": null,
            "officeLocation": null,
            "profession": "",
            "mailboxType": "GroupMailbox",
            "personType": "ModernGroup",
            "userPrincipalName": "",
            "emailAddresses": [
                {
                    "address": "[email protected]",
                    "rank": 30
                }
            ],
            "phones": [],
            "postalAddresses": [],
            "websites": [],
            "sources": [
                {
                    "type": "Directory"
                }
            ]
        },
        {
            "id": "e3d0513b-449e-4198-ba6f-bd97ae7cae85",
            "displayName": "Isaiah Langer",
            "givenName": "Isaiah",
            "surname": "Langer",
            "birthday": "",
            "personNotes": "",
            "isFavorite": false,
            "title": "Web Marketing Manager",
            "companyName": null,
            "yomiCompany": "",
            "department": "Sales & Marketing",
            "officeLocation": "20/1101",
            "profession": "",
            "mailboxType": "Mailbox",
            "personType": "Person",
            "userPrincipalName": "[email protected]",
            "emailAddresses": [
                {
                    "address": "[email protected]",
                    "rank": 20
                }
            ],
            "phones": [
                {
                    "type": "business",
                    "number": "+1 918 555 0101"
                }
            ],
            "postalAddresses": [],
            "websites": [],
            "sources": [
                {
                    "type": "Directory"
                }
            ]
        }
    ]
}

Запрос последующей страницы людей

Если первый ответ не содержит полный список соответствующих людей, можно выполнить второй запрос, используя $top и $skip , чтобы запросить дополнительные страницы информации. Если предыдущий запрос содержит дополнительные сведения, следующий запрос получает следующую страницу людей с сервера.

GET https://graph.microsoft.com/beta/me/people/?$top=10&$skip=10

Сортировка в отклике

По умолчанию люди в ответе сортируются по степени соответствия запросу. Этот порядок можно изменить с помощью параметра $orderby. Этот запрос выбирает наиболее подходящих людей, сортирует их по отображаемой имени, а затем возвращает первые 10 человек в отсортированный список.

GET https://graph.microsoft.com/beta/me/people/?$orderby=DisplayName

Изменение числа возвращенных пользователей и возвращенных полей

Вы можете изменить количество людей, возвращаемых в отклике, настроив параметр $top.

В следующем примере запрашивают 1000 пользователей, наиболее важных для /me. Запрос также ограничивает объем данных, отправляемых обратно с сервера, запрашивая только отображаемое имя пользователя.

GET https://graph.microsoft.com/beta/me/people/?$top=1000&$select=DisplayName

Выбор возвращаемых полей

Вы можете ограничить объем данных, возвращаемых с сервера, с помощью параметра $select , чтобы выбрать одно или несколько полей. Поле @odata.id всегда возвращается.

В следующем примере ответ ограничивается displayName и EmailAddress из 10 наиболее релевантных пользователей.

GET https://graph.microsoft.com/beta/me/people/?$select=DisplayName,EmailAddresses

Использование фильтра для ограничения ответа

Вы можете использовать параметр $filter, чтобы ограничить количество информации в отклике и возвращать только тех людей, записи которых содержат указанные критерии.

Следующий запрос ограничивает ответ пользователями с исходным каталогом.

GET https://graph.microsoft.com/beta/me/people/?$filter=Sources/Any (source: source/Type  eq 'Directory')

Выбор полей для возврата в отфильтрованном ответе

Сочетая параметры $select и $filter, вы можете создать настраиваемый список людей, релевантных для пользователя, и получать только те поля, которые необходимы вашему приложению.

В следующем примере возвращаются значения DisplayName и EmailAddress людей, отображаемое имя которых равно указанному имени. В этом примере возвращаются только те, у кого отображаемое имя равно "Nestor Kellum".

+GET https://graph.microsoft.com/beta/me/people/?$select=DisplayName,EmailAddresses&$filter=DisplayName eq 'Nestor Kellum'

Поиск людей

Запросы в этом разделе также содержат людей, наиболее релевантных для пользователя, выполнившего вход (/me). Поиск запросам требуется Люди. Разрешение на чтение.

Использование поиска для выбора людей

Используйте параметр $search для выбора людей, удовлетворяющих определенному набору критериев.

Следующий поисковый запрос возвращает людей, /me для которых GivenName или Фамилия начинается с буквы "j".

GET https://graph.microsoft.com/beta/me/people/?$search=j

Использование поиска для указания соответствующего раздела

Следующий запрос возвращает пользователей, /me имя которых содержит "ma" и которые имеют связь с "планированием функций".

GET https://graph.microsoft.com/beta/me/people/?$search="ma topic: feature planning"

Следующий запрос выполняет поиск человека с именем Hermaini Hall. Так как для пользователя, выполнившего вход, имеется лицо с именем "Herminia Hull", возвращается информация для "Herminia Hull".

GET https://graph.microsoft.com/beta/me/people/?$search="hermaini hall"

Следующий запрос возвращает людей, наиболее релевантных другому человеку в организации пользователя. Для этого запроса требуется user.ReadBasic.All для Люди. Разрешение Read.All. В этом примере отображаются соответствующие люди Нестора Келлума.

GET https://graph.microsoft.com/beta/users('[email protected]')/people/