Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit editor mode

List a user's direct memberships

Feedback

In this article

Namespace: microsoft.graph

Getgroups,directory roles, andadministrative units that the user is a direct member of. This operation isn't transitive. To retrieve groups, directory roles, and administrative units that the user is a member through transitive membership, use theList user transitive memberOf API.

This API is available in the followingnational cloud deployments.

Global serviceUS Government L4US Government L5 (DOD)China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissionsonly if your app requires it. For details about delegated and application permissions, seePermission types. To learn more about these permissions, see thepermissions reference.

Permissions for the signed-in user's direct memberships

Permission typeLeast privileged permissionsHigher privileged permissions
Delegated (work or school account)User.ReadDirectory.Read.All, Directory.ReadWrite.All, GroupMember.Read.All
Delegated (personal Microsoft account)Not supported.Not supported.
ApplicationNot supported.Not supported.

Permissions for another user's direct memberships

Permission typeLeast privileged permissionsHigher privileged permissions
Delegated (work or school account)User.Read.AllDirectory.Read.All, Directory.ReadWrite.All, GroupMember.Read.All
Delegated (personal Microsoft account)Not supported.Not supported.
ApplicationDirectory.Read.AllDirectory.ReadWrite.All

Important

When an application queries a relationship that returns adirectoryObject type collection, if it doesn't have permission to read a certain resource type, members of that type are returned but with limited information. For example, only the@odata.type property for the object type and theid is returned, while other properties are indicated asnull. With this behavior, applications can request the least privileged permissions they need, rather than rely on the set ofDirectory.* permissions. For details, seeLimited information returned for inaccessible member objects.

Tip

  • Calling the/me/memberOf endpoint requires a signed-in user and therefore a delegated permission. Application permissions are not supported when you use the/me/memberOf endpoint.
  • To list the members of a group with hidden membership, theMember.Read.Hidden permission is required.

HTTP request

GET /me/memberOf

Note

Calling the/me endpoint requires a signed-in user and therefore a delegated permission. Application permissions aren't supported when using the/me endpoint.

GET /users/{id | userPrincipalName}/memberOf

Optional query parameters

This method supports theOData query parameters to help customize the response, including$search,$count, and$filter. OData cast is also enabled; for example, you can cast to get just thedirectoryRoles the user is a member of. You can use$search on thedisplayName property. Items that are added or updated for this resource are specially indexed for use with the$count and$search query parameters. There can be a slight delay between when an item is added or updated and when it's available in the index.

The use of$filter with this API requires theConsistencyLevel header set toeventual and$count. However, in such scenarios, you can't use$expand in the same request as it isn't supported with advanced query parameters. For more information, seeAdvanced query capabilities on directory objects.

Request headers

HeaderValue
AuthorizationBearer {token}. Required. Learn more aboutauthentication and authorization.
ConsistencyLeveleventual. This header and$count are required when using the$search,$filter,$orderby, or OData cast query parameters. It uses an index that might not be up-to-date with recent changes to the object.

Request body

Don't supply a request body for this method.

Response

If successful, this method returns a200 OK response code and collection ofdirectoryObject objects in the response body.

Examples

Example 1: Get groups, directory roles, and administrative units that the user is a direct member of

Request

The following example shows a request.

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

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OKContent-type: application/json{  "value": [    {      "@odata.type": "#microsoft.graph.group",      "displayName": "All Users",      "mailEnabled": false,      "securityEnabled": true    }  ]}

Example 2: Get only a count of all groups, directory roles, and administrative units that the user is a direct member of

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/users/{id}/memberOf/$countConsistencyLevel: eventual

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OKContent-type: text/plain17

Example 3: Use OData cast to get only a count of group membership

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/users/{id}/memberOf/microsoft.graph.group/$countConsistencyLevel: eventual

Response

The following example shows the response.

HTTP/1.1 200 OKContent-type: text/plain16

Example 4: Use $search and OData cast to get membership in groups with display names that contain the letters 'tier' including a count of returned objects

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/users/{id}/memberOf/microsoft.graph.group?$count=true&$orderby=displayName&$search="displayName:tier"&$select=displayName,idConsistencyLevel: eventual

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OKContent-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"    }  ]}

Example 5: Use $filter and OData cast to get groups with a display name that starts with 'a' including a count of returned objects

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/users/{id}/memberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')ConsistencyLevel: eventual

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OKContent-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    }  ]}

Example 6: Use $filter and OData cast to get groups with at least one app role assignment

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/users/{id}/memberOf/microsoft.graph.group?$filter=appRoleAssignments/$count gt 0&$select=id,displayName

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OKContent-type: application/json{  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups",  "value":[    {      "id": "c11b732b-0e16-46c1-b0fa-bd32c8a42455",      "displayName":"All users"    },    {      "id": "3f927b40-06f8-4352-b8e4-37a7ba04b7ff",      "displayName":"AAD Contoso Users"    }  ]}

Feedback

Was this page helpful?

YesNoNo

Need help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?

  • Last updated on

In this article

Was this page helpful?

YesNo
NoNeed help with this topic?

Want to try using Ask Learn to clarify or guide you through this topic?

Suggest a fix?