Перечисление транзитивных участников группы

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

Важно!

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

Получение списка участников группы. Группа может иметь различные типы объектов в качестве членов. Дополнительные сведения о поддерживаемых типах участников для различных групп см. в разделе Членство в группах.

Эта операция является транзитивной и возвращает плоский список всех вложенных элементов. Попытка фильтрации по приведения OData, представляющего неподдерживаемый тип элемента, возвращает ошибку 400 Bad RequestRequest_UnsupportedQuery с кодом.

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

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

Разрешения

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

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

Примечание: Чтобы получить список участников скрытой группы членства, требуется разрешение Member.Read.Hidden .

Когда приложение запрашивает связь, которая возвращает коллекцию типов directoryObject , если у него нет разрешения на чтение определенного производного типа (например, устройство), возвращаются члены этого типа, но с ограниченной информацией. При таком поведении приложения могут запрашивать необходимые разрешения с наименьшими привилегиями, а не полагаться на набор каталогов.*Разрешения. Сведения см. в разделе Ограниченные сведения, возвращаемые для недоступных объектов member.

HTTP-запрос

GET /groups/{id}/transitiveMembers

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

Этот метод поддерживает параметры запросов OData для настройки ответа, в том числе $search, $count і $filter. Вы можете использовать $search в свойствах displayName и description. Вы также можете отфильтровать результаты по типу OData, например microsoft.graph.user или microsoft.graph.group.

По умолчанию этот API возвращает до 100 объектов-членов. Максимальный размер страницы, который можно запросить с помощью $top параметра запроса, составляет 999 объектов.

Некоторые запросы поддерживаются только при использовании заголовка ConsistencyLevel с присвоенным значением eventual и $count. Дополнительные сведения см. в разделе Расширенные возможности запросов к объектам каталогов.

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

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
ConsistencyLevel необязательный. Этот заголовок и $count требуются при использовании $search, $filter, $orderby или с параметрами запросов OData cast. В нем используется индекс, который может не соответствовать последним изменениям объекта.

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

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

Отклик

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

Попытка фильтрации по приведения OData, представляющего неподдерживаемый тип элемента, возвращает ошибку 400 Bad RequestRequest_UnsupportedQuery с кодом. Например, /groups/{id}}/transitiveMembers/microsoft.graph.group если группа является группой Microsoft 365, она вернет эту ошибку, так как группы Microsoft 365 не могут иметь другие группы в качестве участников.

Примеры

Пример 1. Получение транзитивного членства в группе

Запрос

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

GET https://graph.microsoft.com/beta/groups/{id}/transitiveMembers

Отклик

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

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

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

{
  "value": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "mail": "group1@contoso.com",
      "mailEnabled": true,
      "mailNickname": "Contoso1",
      "securityEnabled": true
    }
  ]
}

Пример 2. Получение только количества транзитивного членства

Запрос

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

GET https://graph.microsoft.com/beta/groups/{id}/transitiveMembers/$count
ConsistencyLevel: eventual

Отклик

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

HTTP/1.1 200 OK
Content-type: text/plain

893

Пример 3. Использование приведения OData microsoft.graph.group для получения только участников, которые являются группами

Запрос

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

GET https://graph.microsoft.com/beta/groups/{id}/transitiveMembers/microsoft.graph.group?$count=true
ConsistencyLevel: eventual

Отклик

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#groups",
  "@odata.count": 2,
  "value": [
    {
      "@odata.id": "https://graph.microsoft.com/v2/927c6607-8060-4f4a-a5f8-34964ac78d70/directoryObjects/4d0ef681-e88f-42a3-a2db-e6bf1e249e10/Microsoft.DirectoryServices.Group",
      "id": "4d0ef681-e88f-42a3-a2db-e6bf1e249e10",
      "organizationId": "927c6607-8060-4f4a-a5f8-34964ac78d70",
      "description": null,
      "displayName": "Executives",
      "groupTypes": [],
      "mail": "Executives@contoso.com",
      "mailEnabled": true,
      "mailNickname": "Executives",
    },
    {
      "@odata.id": "https://graph.microsoft.com/v2/927c6607-8060-4f4a-a5f8-34964ac78d70/directoryObjects/d9fb0c47-c783-40a1-bce1-53b52ada51fc/Microsoft.DirectoryServices.Group",
      "id": "d9fb0c47-c783-40a1-bce1-53b52ada51fc",
      "organizationId": "927c6607-8060-4f4a-a5f8-34964ac78d70",
      "displayName": "Project Falcon",
      "groupTypes": [],
      "mail": "Falcon@contoso.com",
      "mailEnabled": true,
      "mailNickname": "Falcon",
    }
  ]
}

Пример 4. Использование приведения OData и $search для получения членства в группах с отображаемыми именами, содержащими буквы "tier", включая количество возвращаемых объектов

Запрос

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

GET https://graph.microsoft.com/beta/groups/{id}/transitiveMembers/microsoft.graph.user?$count=true&$orderby=displayName&$search="displayName:tier"&$select=displayName,id
ConsistencyLevel: eventual

Отклик

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#groups(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Contoso-tier Query Notification",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

Пример 5. Использование приведения OData и $filter для получения членства пользователей в группах с отображаемым именем, начинающимся с "A", включая количество возвращаемых объектов

Запрос

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

GET https://graph.microsoft.com/beta/groups/{id}/transitiveMembers/microsoft.graph.user?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual

Отклик

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}