英語で読む

次の方法で共有


ユーザーの直接メンバーシップを一覧表示する

名前空間: microsoft.graph

ユーザーがダイレクト メンバーになっているグループディレクトリ ロール管理単位を取得します。 この操作は推移的ではありません。 推移的なメンバーシップを通じてユーザーがメンバーであるグループ、ディレクトリ ロール、および管理単位を取得するには、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/v1.0/users/6e7b768e-07e2-4810-8459-485f84f8f204/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/v1.0/users/{id}/memberOf/$count
ConsistencyLevel: eventual

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

17

例 3: OData キャストを使用して、グループ メンバーシップ数のみを取得する

要求

次の例は要求を示しています。

GET https://graph.microsoft.com/v1.0/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/v1.0/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/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}/memberOf/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
    }
  ]
}

例 6: $filterと OData キャストを使用して、少なくとも 1 つのアプリ ロールの割り当てを持つグループを取得する

要求

次の例は要求を示しています。

GET https://graph.microsoft.com/v1.0/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/v1.0/$metadata#groups",
  "value":[
    {
      "id": "c11b732b-0e16-46c1-b0fa-bd32c8a42455",
      "displayName":"All users"
    },
    {
      "id": "3f927b40-06f8-4352-b8e4-37a7ba04b7ff",
      "displayName":"AAD Contoso Users"
    }
  ]
}