次の方法で共有


グループ メンバーを一覧表示する

名前空間: microsoft.graph

グループのダイレクト メンバーの一覧を取得します。 グループには、ユーザー、組織の連絡先、デバイス、サービス プリンシパル、およびその他のグループをメンバーとして含めることができます。 この操作は推移的ではありません。

重要

この API には、サービス プリンシパルが v1.0 のグループ メンバーとして一覧表示されないという既知の問題があります。 回避策として、 beta エンドポイントでこの API を使用するか、 /groups/{id}?$expand=members API を使用します。 詳細については、関連する既知の 問題に関するページを参照してください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) GroupMember.Read.All Directory.Read.All、Group.Read.All、Group.ReadWrite.All、GroupMember.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション GroupMember.Read.All Directory.Read.All、Group.Read.All、Group.ReadWrite.All、GroupMember.ReadWrite.All

重要

アプリケーションが directoryObject 型のコレクションを返すリレーションシップをクエリするときに、特定のリソース型を読み取るアクセス許可がない場合、その型のメンバーが返されますが、情報は限られます。 たとえば、@odata.type プロパティでは、オブジェクト型と ID だけが返され、その他のプロパティは null と表示されます。 この動作により、アプリケーションは、Directory.* 権限が付与されたアクセス許可のセットに依存するのではなく、必要な最小限のアクセス許可を要求できます。 詳細については、「アクセスできないメンバー オブジェクトについて、限定された情報が返される」を参照してください。

委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロール、またはmicrosoft.directory/groups/members/readまたはmicrosoft.directory/groups/members/limitedReadロールのアクセス許可を持つカスタム ロール、または非表示のメンバーを読み取るロールのアクセス許可microsoft.directory/groups/hiddenMembers/read割り当てる必要もあります。 この操作では、次の最小特権ロールがサポートされています。

  • グループ所有者
  • "メンバー" ユーザー
  • "ゲスト" ユーザー - 読み取りアクセス許可が制限されています
  • ディレクトリ リーダー
  • ディレクトリ製作者
  • グループ管理者
  • ユーザー管理者 - 非表示のメンバーを含める
  • Exchange 管理者 - 非表示のメンバーを含む
  • SharePoint 管理者 - 非表示のメンバーを含める
  • Intune管理者 - 非表示のメンバーを含む
  • Teams 管理者 - 非表示のメンバーを含む
  • Yammer 管理者 - 非表示のメンバーを含む

非表示のメンバーシップ グループのメンバーを一覧表示するには、 Member.Read.Hidden アクセス許可も必要です。

HTTP 要求

GET /groups/{id}/members

オプションのクエリ パラメーター

このメソッドは、応答のカスタマイズに役立つ $filter$count$select$search$top$search$expandOData クエリ パラメーター をサポートします。 既定のページ サイズと最大ページ サイズは、それぞれ 100 と 999 のグループ オブジェクトです。 クエリの中には、ConsistencyLevel ヘッダーの設定を eventual および $count に使用した場合にのみサポートされるものもあります。 詳細については、「ディレクトリ オブジェクトの詳細クエリ機能」を参照してください。

OData キャストも有効です。 たとえば、 /groups/{id}}/members/microsoft.graph.user ユーザーであるグループ メンバーを再トリガーします。

要求ヘッダー

ヘッダー
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
ConsistencyLevel 最終的。 このヘッダーおよび$countは、$search$filter$orderby、または OData キャスト クエリ パラメーターを使用する場合に必要です。 最新の状態に更新されていない可能性があるインデックスを使用しています。

要求本文

このメソッドには、要求本文を指定しません。

応答

成功した場合、このメソッドでは 200 OK 応答コードと、応答本文で directoryObject オブジェクトのコレクションを返します。

サポートされていないメンバー型を表す OData キャストでフィルター処理しようとすると、Request_UnsupportedQuery コードで400 Bad Request エラーが返されます。 たとえば、グループが Microsoft 365 グループの場合 /groups/{id}}/members/microsoft.graph.group 、Microsoft 365 グループは他のグループをメンバーとして持つことができないため、このエラーが返されます。

例 1: グループのダイレクト メンバーシップを取得する

要求

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

GET https://graph.microsoft.com/v1.0/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directoryObjects",
  "value": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "mail": "user1@contoso.com"
    }
  ]
}

例 2: 全メンバーシップ数のみを取得する

要求

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

GET https://graph.microsoft.com/v1.0/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/$count
ConsistencyLevel: eventual

応答

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

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

893

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

要求

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

GET https://graph.microsoft.com/v1.0/groups/{id}/members/microsoft.graph.user/$count
ConsistencyLevel: eventual

応答

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

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

893

例 4: $search および OData キャストを使用して、表示名に「Pr」の文字が含まれるグループのユーザー メンバーシップを取得する (返されたオブジェクトの数も含む)

要求

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

GET https://graph.microsoft.com/v1.0/groups/{id}/members/microsoft.graph.user?$count=true&$orderby=displayName&$search="displayName:Pr"&$select=displayName,id
ConsistencyLevel: eventual

応答

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Joseph Price",
      "id":"11111111-2222-3333-4444-555555555555"
    },
    {
      "displayName":"Preston Morales",
      "id":"66666666-7777-8888-9999-000000000000"
    }
  ]
}

例 5: $filter を使用して、「A」で始まる表示名のグループ メンバーシップを取得する (返されたオブジェクトの数も含む)

要求

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

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

応答

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#directoryObjects",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com"
    }
  ]
}