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