Перечисление членства пользователя (прямого и транзитивного)

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

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

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

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

Разрешения

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

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

Важно!

Чтобы добавить участников в группу с возможностью назначения ролей, вызывающему пользователю также должно быть назначено разрешение RoleManagement.ReadWrite.Directory .

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

HTTP-запрос

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

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

Этот метод поддерживает параметры запросов OData для настройки ответа, в том числе $select, $search і $count. Приведение OData также включено, например, вы можете выполнить приведение, чтобы получить только транзитивное членство в группах. $search можно использовать в свойстве displayName. По умолчанию и максимальный размер страницы — 100 и 999 объектов соответственно.

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

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

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

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

Отклик

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

Примеры

Пример 1. Получение групп, ролей каталога и административных единиц, членом которыми является пользователь

Запрос

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

GET https://graph.microsoft.com/v1.0/users/6e7b768e-07e2-4810-8459-485f84f8f204/transitiveMemberOf

Отклик

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#directoryObjects",
  "value":[
    {
      "@odata.type":"#microsoft.graph.group",
      "displayName":"All_Contoso_Licensing",
      "mailEnabled":true,
      "mailNickname":"ContosoMailNickName",
      "securityEnabled":true
    }
  ]
}

Пример 2. Получение количества транзитивного членства в группах, ролях каталога и административных единицах

Запрос

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

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual

Отклик

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

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

893

Пример 3. Использование OData cast для получения только количества транзитивных участников в группах

Запрос

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

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group/$count
ConsistencyLevel: eventual

Отклик

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

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

588

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

Запрос

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

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group?$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#groups(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Contoso-tier Query Notification",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

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

Запрос

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

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group?$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#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}