ユーザーのメンバーシップを一覧表示する (直接および推移的)
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
直接または推移的なメンバーシップを使用して、ユーザーがメンバーになっている グループ、 ディレクトリ ロール、 および管理単位 を取得します。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
サインインしているユーザーのメンバーシップに対するアクセス許可
アクセス許可の種類 | 最小特権アクセス許可 | より高い特権のアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | User.Read | Directory.Read.All、Directory.ReadWrite.All、Group.Read.All、GroupMember.Read.All、User.Read.All |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | サポートされていません。 | サポートされていません。 |
別のユーザーのメンバーシップに対するアクセス許可
アクセス許可の種類 | 最小特権アクセス許可 | より高い特権のアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | User.Read.All | Directory.Read.All、Directory.ReadWrite.All、Group.Read.All、GroupMember.Read.All |
委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
アプリケーション | User.Read.All | Directory.Read.All、Directory.ReadWrite.All、Group.Read.All、GroupMember.Read.All |
重要
アプリケーションが directoryObject 型のコレクションを返すリレーションシップをクエリするときに、特定のリソース型を読み取るアクセス許可がない場合、その型のメンバーが返されますが、情報は限られます。 たとえば、@odata.type プロパティでは、オブジェクト型と ID だけが返され、その他のプロパティは null
と表示されます。 この動作により、アプリケーションは、Directory.* 権限が付与されたアクセス許可のセットに依存するのではなく、必要な最小限のアクセス許可を要求できます。 詳細については、「アクセスできないメンバー オブジェクトについて、限定された情報が返される」を参照してください。
ヒント
-
/me/transitiveMemberOf
エンドポイントの呼び出しにはサインインしているユーザーが必要であり、そのため委任されたアクセス許可が必要です。 エンドポイントを使用する場合、アプリケーションのアクセス許可は/me/transitiveMemberOf
サポートされません。 - 非表示のメンバーシップを持つグループのメンバーを一覧表示するには、
Member.Read.Hidden
アクセス許可が必要です。
HTTP 要求
GET /me/transitiveMemberOf
GET /users/{id | userPrincipalName}/transitiveMemberOf
オプションのクエリ パラメーター
このメソッドは、応答をカスタマイズするための$select
、$search
、および$count
を含むOData クエリ パラメーターをサポートします。 OData キャストも有効になっています。たとえば、グループ内の推移的なメンバーシップのみを取得するためにキャストできます。
displayNameプロパティで$search
を使用できます。 既定のページ サイズと最大ページ サイズはそれぞれ 100 オブジェクトと 999 オブジェクトです。
要求ヘッダー
ヘッダー | 値 |
---|---|
Authorization | ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。 |
ConsistencyLevel | 最終的。 このヘッダーおよび$count は、$search 、$filter 、$orderby 、または OData キャスト クエリ パラメーターを使用する場合に必要です。 最新の状態に更新されていない可能性があるインデックスを使用しています。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文で directoryObject オブジェクトのコレクションを返します。
例
例 1: ユーザーがメンバーであるグループ、ディレクトリ ロール、および管理単位を取得する
要求
次の例は要求を示しています。
GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf
応答
応答の例を下に示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#directoryObjects",
"value":[
{
"@odata.type":"#microsoft.graph.group",
"displayName":"All_Contoso_Licensing",
"mailEnabled":true,
"mailNickname":"ContosoMailNickName",
"securityEnabled":true
},
{
"@odata.type":"#microsoft.graph.group",
"displayName":"ContosoAudience_PugetSound",
"mailEnabled":true,
"mailNickname":"Contoso_PugetSound",
"securityEnabled":true
}
]
}
例 2: グループ、ディレクトリ ロール、および管理単位の推移的なメンバーシップの数のみを取得する
要求
要求の例を次に示します。
GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual
応答
応答の例を下に示します。
HTTP/1.1 200 OK
Content-type: text/plain
893
例 3: OData キャストを使用して、グループ内の推移的なメンバーシップ数のみを取得する
要求
要求の例を次に示します。
GET https://graph.microsoft.com/beta/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/beta/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/beta/$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/beta/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/beta/$metadata#groups",
"@odata.count":76,
"value":[
{
"displayName":"AAD Contoso Users",
"mail":"AADContoso_Users@contoso.com",
"mailEnabled":true,
"mailNickname":"AADContoso_Users",
"securityEnabled":true
}
]
}