次の方法で共有


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

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

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

この 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/beta/groups/{id}/members

応答

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

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

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

{
  "value": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "mail": "group1@contoso.com",
      "mailEnabled": true,
      "mailNickname": "Contoso1",
      "securityEnabled": true
    }
  ]
}

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

要求

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

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

応答

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

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

893

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

要求

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

GET https://graph.microsoft.com/beta/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/beta/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/beta/$metadata#users(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Joseph Price",
      "id":"11111111-2222-3333-4444-555555555555"
    },
    {
      "displayName":"Preston Morales",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

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

要求

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

GET https://graph.microsoft.com/beta/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/beta/$metadata#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}

例 6: OData キャストを使用して、グループ メンバーとして追加されたサービス プリンシパルを取得する

要求

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

GET https://graph.microsoft.com/beta/groups/3802e9bb-0951-4e18-b9eb-f934b4241194/members/microsoft.graph.servicePrincipal

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals",
  "value": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "deletedDateTime": null,
      "accountEnabled": true,
      "appDisplayName": "Contoso Azure App",
      "appId": "11111111-2222-3333-4444-555555555555",
    }
  ]
}