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

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

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

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

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

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

Разрешения

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

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

Важно!

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

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

HTTP-запрос

GET /groups/{id}/transitiveMembers

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

Этот метод поддерживает параметры запросов $count, $filter, $search, $selectи $topOData, что помогает настраивать ответ.

  • Приведение OData включено. Например, /groups/{id}/transitiveMembers/microsoft.graph.user получает только пользователей, которые являются членами группы.
  • $search поддерживается только для свойств displayName и description .
  • По умолчанию максимальный размер страницы составляет 100 и 999 объектов группы соответственно.
  • Использование параметров запроса с этим API, за исключением $expand, поддерживается только с расширенными параметрами запроса. $expand не поддерживается расширенными параметрами запроса. Дополнительные сведения см. в статье Расширенные возможности запросов для объектов каталога.

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

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

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

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

Отклик

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

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

Примеры

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

Запрос

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

GET https://graph.microsoft.com/v1.0/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/transitiveMembers

Отклик

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

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

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

{
  "value": [
    {
      "@odata.type": "#microsoft.graph.user",
      "id": "11111111-2222-3333-4444-555555555555",
      "mail": "group1@contoso.com"
    }
  ]
}

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

Запрос

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

GET https://graph.microsoft.com/v1.0/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/v1.0/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/v1.0/$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, cast и $search, чтобы получить членство в группах с отображаемыми именами, содержащими буквы "tier", включая количество возвращенных объектов

Запрос

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

GET https://graph.microsoft.com/v1.0/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/v1.0/$metadata#users(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Joseph Price",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

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

Запрос

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

GET https://graph.microsoft.com/v1.0/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/v1.0/$metadata#users",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com"
    }
  ]
}