ユーザーを一覧表示する

名前空間: microsoft.graph

重要

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

user オブジェクトの一覧を取得します。 この API は agentUser オブジェクトも返します。

この操作は、デフォルトで各 ユーザー および エージェントユーザーのより一般的に使用されるプロパティのサブセットのみを返します。 これらの既定のプロパティは、「プロパティ」セクションに記載されています。 既定で返されないプロパティを取得するには、GET 操作を実行し、$select OData クエリ オプションでプロパティを指定します。

重要

ゲスト ユーザーは、この API を呼び出すことはできません。 メンバー ユーザーとゲスト ユーザーのアクセス許可の詳細については、「Microsoft Entra ID の既定のユーザー アクセス許可とは」を参照してください。

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

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

アクセス許可

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

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

特定のシナリオのアクセス許可

  • User-Mail.ReadWrite.All は、 otherMails プロパティの読み取りと書き込みを行う最小特権のアクセス許可です。また、ユーザー オブジェクトの識別子関連のプロパティの一部を読み取ることができます。
  • User-PasswordProfile.ReadWrite.All は、パスワード リセット関連のプロパティの読み取りと書き込みを行う最小特権のアクセス許可です。また、ユーザー オブジェクトの識別子関連のプロパティの一部を読み取ることができます。
  • User-Phone.ReadWrite.All は、 businessPhones プロパティと mobilePhone プロパティの読み取りと書き込みを行う最小特権のアクセス許可です。また、ユーザー オブジェクトの識別子関連のプロパティの一部を読み取ることができます。
  • User.EnableDisableAccount.All + User.Read.All は、 accountEnabled プロパティの読み取りと書き込みを行うアクセス許可の最低特権の組み合わせです。

HTTP 要求

次の URL は、#microsoft.graph.agentUser の @odata.type プロパティを含む user オブジェクトと agentUser オブジェクトのリストを返します。

GET /users

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

このメソッドでは、応答をカスタマイズするのに役立つ OData クエリ パラメーター がサポートされています。

  • $count, $expand, $filter, $orderby, $search, $select, $top. $skip はサポートされていません。
  • 結果セットからエージェント ユーザーをフィルタリングするには、 isof 関数を使用します。 $filter=isof('microsoft.graph.agentUser') はエージェント ユーザーのみを返し、 $filter=not isof('microsoft.graph.agentUser') はエージェント ユーザーを除外します。
  • ページ サイズの制限: 既定のページ サイズは 100 オブジェクトです。 最大ページ サイズは 999 オブジェクトで、 $select=signInActivity または $filter=signInActivity を使用する場合を除き、最大ページ サイズは 500 です。
  • 一部のクエリでは、 ConsistencyLevel ヘッダーを eventual および $count に設定する必要があります。 詳細については、「ディレクトリ オブジェクトの詳細クエリ機能」を参照してください。
  • $count パラメーターと $search パラメーターは、Azure AD B2C テナントでは使用できません。

拡張機能のプロパティでは、次のようなクエリ パラメーターもサポートされています。

拡張機能の種類 コメント
onPremisesExtensionAttributes 1-15 $select でのみ返されます。 $filter (eq、 ne、 および eq の null 値) をサポートします。
スキーマ拡張機能 $select でのみ返されます。 $filter (eq、 ne、 および eq の null 値) をサポートします。
オープン拡張機能 $expand、つまり、users?$expand=extensions でのみ返されます。
ディレクトリ拡張機能 $select でのみ返されます。 $filter (eq、 ne、 および eq の null 値) をサポートします。

agentUser オブジェクトの場合、適用できないプロパティは常に nullされます。

ユーザー コレクション内では特定のプロパティを返すことはできません。 以下のプロパティは、1 人のユーザーを取得する場合にのみサポートされます: aboutMe、birthday、hireDate、interests、mySite、pastProjects、preferredName、responsibilities、schools、skills、mailboxSettings。

次のプロパティは、個人用 Microsoft アカウントではサポートされておらず、常にnullされます: aboutMe、birthday、interests、mySite、pastProjects、preferredName、responsibilities、schools、skills、streetAddress。

要求ヘッダー

ヘッダー 値
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
ConsistencyLevel 最終的。 このヘッダーと $count は、$search を使用する場合、または $filter の特別な使用をする場合に必要です。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

要求本文

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

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文の User オブジェクトと agentUser オブジェクトのコレクションを返します。 agentUser オブジェクトには、ユーザー オブジェクトと区別するための値 #microsoft.graph.agentUser を持つ @odata.type プロパティが含まれています。

/users コレクションで $select を使用して、コレクション内で返されないプロパティ (要求../users?$select=aboutMeなど) を取得しようとすると、501 Not Implementedエラー コードが返されます。

例

例 1: すべてのユーザーを取得する

要求

次の例は要求を示しています。 応答には、エージェント ユーザーが含まれます。

GET https://graph.microsoft.com/beta/users
GET https://graph.microsoft.com/beta/users

応答

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

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

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

{
  "value":[
    {
      "displayName":"contoso1",
      "mail":"'contoso1@gmail.com",
      "mailNickname":"contoso1_gmail.com#EXT#",
      "otherMails":["contoso1@gmail.com"],
      "proxyAddresses":["SMTP:contoso1@gmail.com"],
      "userPrincipalName":"contoso1_gmail.com#EXT#@contoso.com"
    }
  ]
}

例 2: エージェント ユーザーのみを取得する

要求

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

GET https://graph.microsoft.com/beta/users/microsoft.graph.agentUser

応答

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

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

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

{
  "value":[
    {
      "@odata.type":"#microsoft.graph.agentUser",      
      "displayName":"contoso1",
      "mail":"'contoso1@gmail.com",
      "mailNickname":"contoso1_gmail.com#EXT#",
      "otherMails":["contoso1@gmail.com"],
      "proxyAddresses":["SMTP:contoso1@gmail.com"],
      "userPrincipalName":"contoso1_gmail.com#EXT#@contoso.com"
    }
  ]
}

例 3:サインイン名を使用してユーザー アカウントを取得する

サインイン名 (ローカル アカウントとも呼ばれます) を使用して、ユーザー アカウントを検索します。

注:issuerAssignedId をフィルター処理する場合、 issuer と issuerAssignedId の両方を指定する必要があります。 ただし、特定のシナリオでは、issuer 値は無視されます。 ID のフィルター処理の詳細については、「objectIdentity リソースの種類」 を参照してください。

要求

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

GET https://graph.microsoft.com/beta/users?$select=displayName,id&$filter=identities/any(c:c/issuerAssignedId eq 'j.smith@yahoo.com' and c/issuer eq 'My B2C tenant')

応答

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

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

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

{
  "value": [
    {
      "displayName": "John Smith",
      "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
    }
  ]
}

例 4: userPrincipalName で特定のテナントまたはドメインからゲスト (B2B) ユーザーを取得する

要求

次の例は要求を示しています。 ゲスト (B2B コラボレーション) ユーザーの userPrincipalName 値には、常に "#EXT#" 識別子が含まれます。 たとえば、ホーム テナント内のユーザーの userPrincipalName が AdeleV@adatum.com とします。 テナント contoso.com での共同作業にユーザーを招待すると、テナント内のユーザーの userPrincipalName は "AdeleV_adatum.com#EXT#@contoso.com" になります。

この要求には endsWith 演算子が含まれているため、 ConsistencyLevel ヘッダーを eventual に設定し、クエリ文字列を $count=true する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注: userPrincipalName 値の予約文字「#」を要求 URL の「%23」としてエンコードする必要があります。 詳細については、「 特殊文字のエンコード」を参照してください。

GET https://graph.microsoft.com/beta/users?$select=id,displayName,mail,identities&$filter=endsWith(userPrincipalName,'%23EXT%23@contoso.com')&$count=true
ConsistencyLevel: eventual

応答

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

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(id,displayName,mail,identities)",
    "@odata.count": 2,
    "value": [
        {
            "id": "39807bd1-3dde-48f3-8165-81ddd4e46de0",
            "displayName": "Adele Vance",
            "mail": "AdeleV@adatum.com",
            "identities": [
                {
                    "signInType": "userPrincipalName",
                    "issuer": "contoso.com",
                    "issuerAssignedId": "AdeleV_adatum.com#EXT#@cntoso.com"
                }
            ]
        }
    ]
}

例 5:特定の表示名を持つユーザーの最終サインイン時刻を一覧表示する

要求

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

注:

  • signInActivity プロパティの詳細には、Microsoft Entra ID P1 または P2 ライセンスと AuditLog.Read.All アクセス許可が必要です。
  • ユーザーを一覧表示するときに $select=signInActivity または $filter=signInActivity を指定すると、 $top の最大ページ サイズは 500 です。 $topが 500 以上に設定された要求は、最大 500 人のユーザーがいるページを返します。 signInActivity プロパティは、$filter (eq、ne、not、ge、le) をサポートしますが、他のフィルター可能なプロパティはサポートしません。
GET https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Eric')&$select=displayName,signInActivity

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Eric')&$select=displayName,signInActivity",
  "value": [
    {
      "displayName": "Eric Solomon",
      "signInActivity": {
        "lastSignInDateTime": "2021-07-29T15:53:27Z",
        "lastSignInRequestId": "f3149ee1-e347-4181-b45b-99a1f82b1c00",
        "lastNonInteractiveSignInDateTime": "2021-07-29T17:53:42Z",
        "lastNonInteractiveSignInRequestId": "868efa6a-b2e9-40e9-9b1c-0aaea5b50200",
        "lastSuccessfulSignInDateTime": "",
        "lastSuccessfulSignInRequestId": ""
      }
    }
  ]
}

例 6:特定の時間範囲のユーザーの最終サインイン時刻を一覧表示する

要求

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

注:

signInActivity プロパティの詳細には、Microsoft Entra ID P1 または P2 ライセンスと AuditLog.Read.All アクセス許可が必要です。

GET https://graph.microsoft.com/beta/users?$filter=signInActivity/lastSignInDateTime le 2021-07-21T00:00:00Z

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/users?filter=signInActivity/lastSignInDateTime le 2021-07-21T00:00:00Z",
  "value": [
    {
      "displayName": "Adele Vance",
      "userPrincipalName": "AdeleV@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-06-17T16:41:33Z",
        "lastSignInRequestId": "d4d31c40-4c36-4775-ad59-7d1e6a171f00",
        "lastNonInteractiveSignInDateTime": "0001-01-01T00:00:00Z",
        "lastNonInteractiveSignInRequestId": "",
        "lastSuccessfulSignInDateTime": "",
        "lastSuccessfulSignInRequestId": ""
      }
    },
    {
      "displayName": "Alex Wilber",
      "userPrincipalName": "AlexW@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-07-29T15:53:27Z",
        "lastSignInRequestId": "f3149ee1-e347-4181-b45b-99a1f82b1c00",
        "lastNonInteractiveSignInDateTime": "2021-07-29T17:53:42Z",
        "lastNonInteractiveSignInRequestId": "868efa6a-b2e9-40e9-9b1c-0aaea5b50200",
        "lastSuccessfulSignInDateTime": "",
        "lastSuccessfulSignInRequestId": ""
      }
    }
  ]
}

例 7: ユーザー数のみを取得する

要求

次の例は要求を示しています。 この要求では、$count が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users/$count
ConsistencyLevel: eventual

応答

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

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

893

例 8: $filter と $top を使用して、返されたオブジェクトの数を含む、表示名が 'a' で始まる 1 人のユーザーを取得する

要求

次の例は要求を示しています。 この要求では、$orderby と $filter の両方のクエリ パラメーターがあるため、ConsistencyLevel ヘッダーを eventual および $count=true クエリ文字列に設定することが必要です。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'a')&$orderby=displayName&$count=true&$top=1
ConsistencyLevel: eventual

応答

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":1,
  "value":[
    {
      "displayName":"a",
      "mail":"a@contoso.com",
      "mailNickname":"a_contoso.com#EXT#",
      "otherMails":["a@contoso.com"],
      "proxyAddresses":["SMTP:a@contoso.com"],
      "userPrincipalName":"a_contoso.com#EXT#@contoso.com"
    }
  ]
}

例 9: $filter を使用して、返されたオブジェクトの数を含む、'a@contoso.com' で終わるメールを持つすべてのユーザーを取得し、結果は userPrincipalName の順番に並べられます

要求

次の例は要求を示しています。 この要求では、$orderby と $filter の両方のクエリ パラメーター、および endsWith 演算子があるため、ConsistencyLevel ヘッダーを eventual および $count=true クエリ文字列に設定することが必要です。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users?$filter=endswith(mail,'a@contoso.com')&$orderby=userPrincipalName&$count=true
ConsistencyLevel: eventual

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count": 1,
  "value": [
    {
      "displayName": "Grady Archie",
      "givenName": "Grady",
      "jobTitle": "Designer",
      "mail": "GradyA@contoso.com",
      "userPrincipalName": "GradyA@contoso.com",
      "id": "e8b753b5-4117-464e-9a08-713e1ff266b3"
      }
    ]
}

例 10: $search を使用して、返されるオブジェクトの数を含む文字 'wa' を含む表示名を持つユーザーを取得する

要求

次の例は要求を示しています。 この要求では、$search が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users?$search="displayName:wa"&$orderby=displayName&$count=true
ConsistencyLevel: eventual

応答

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Oscar Ward",
      "givenName":"Oscar",
      "mail":"oscarward@contoso.com",
      "mailNickname":"oscward",
      "userPrincipalName":"oscarward@contoso.com"
    }
  ]
}

例 11: $search を使用して、返されるオブジェクトの数を含む文字 'wa' または文字 'ad' を含む表示名を持つユーザーを取得する

要求

次の例は要求を示しています。 この要求では、$search が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users?$search="displayName:wa" OR "displayName:ad"&$orderby=displayName&$count=true
ConsistencyLevel: eventual

応答

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

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

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Oscar Ward",
      "givenName":"Oscar",
      "mail":"oscarward@contoso.com",
      "mailNickname":"oscward",
      "userPrincipalName":"oscarward@contoso.com"
    },
    {
      "displayName":"contosoAdmin1",
      "mail":"'contosoadmin1@gmail.com",
      "mailNickname":"contosoadmin1_gmail.com#EXT#",
      "proxyAddresses":["SMTP:contosoadmin1@gmail.com"],
      "userPrincipalName":"contosoadmin1_gmail.com#EXT#@contoso.com"
    }
  ]
}

例 12: $filter を使用して、特定のライセンスが割り当てられているユーザーを取得する

要求

次の例は要求を示しています。 この要求では、$search が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

注:$countおよび$searchのクエリパラメーターは、現在 Azure ADB2C テナントでは使用できません。

GET https://graph.microsoft.com/beta/users?$select=id,mail,assignedLicenses&$filter=assignedLicenses/any(u:u/skuId eq cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46)

応答

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(id,mail,assignedLicenses)",
  "value": [
    {
      "id": "cb4954e8-467f-4a6d-a8c8-28b9034fadbc",
      "mail": "admin@contoso.com",
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
        }
      ]
    },
    {
      "id": "81a133c2-bdf2-4e67-8755-7264366b04ee",
      "mail": "DebraB@contoso.com",
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
        }
      ]
    }
  ]
}

例 13: すべてのユーザーのスキーマ拡張機能の値を取得する

この例では、スキーマ拡張の ID は ext55gb1l09_msLearnCourses です。

要求

GET https://graph.microsoft.com/beta/users?$select=ext55gb1l09_msLearnCourses

応答

次の応答では、スキーマ拡張プロパティ ext55gb1l09_msLearnCourses が 2 つのユーザー オブジェクトで割り当てられていません。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(ext55gb1l09_msLearnCourses)",
    "value": [
        {},
        {
            "ext55gb1l09_msLearnCourses": {
                "@odata.type": "#microsoft.graph.ComplexExtensionValue",
                "courseType": "Developer",
                "courseName": "Introduction to Microsoft Graph",
                "courseId": 1
            }
        },
        {}
    ]
}

注: スキーマ拡張プロパティに $filter を適用して、コレクション内のプロパティが指定された値と一致するオブジェクトを取得することもできます。 構文は /users?$filter={schemaPropertyID}/{propertyName} eq 'value' です。 たとえば、「 GET /users?$select=ext55gb1l09_msLearnCourses&$filter=ext55gb1l09_msLearnCourses/courseType eq 'Developer' 」のように入力します。 eq および not 演算子がサポートされています。

例 14: 値と等しいカスタム セキュリティ属性の割り当てを持つすべてのユーザーを一覧表示する

次の例は、値と等しいカスタム セキュリティ属性の割り当てを持つすべてのユーザーを一覧表示する方法を示しています。 この例では、値が Canada に等しい AppCountry という名前のカスタム セキュリティ属性を持つユーザーを取得します。 フィルター値では、大文字と小文字が区別されます。 要求またはヘッダーに ConsistencyLevel=eventual を追加する必要があります。 要求が正しくルーティングされるようにするには、$count=true も含める必要があります。

ユーザー #1

  • 属性セット: Marketing
  • 属性: AppCountry
  • 属性データ型: 文字列のコレクション
  • 属性値: ["India","Canada"]

ユーザー #2

  • 属性セット: Marketing
  • 属性: AppCountry
  • 属性データ型: 文字列のコレクション
  • 属性値: ["Canada","Mexico"]

カスタム セキュリティ属性の割り当てを取得するには、呼び出し元のプリンシパルに属性割り当てリーダーまたは属性割り当て管理者の役割を割り当て、CustomSecAttributeAssignment.ReadWrite.All または CustomSecAttributeAssignment.ReadWrite.All のアクセス許可を付与する必要があります。

カスタム セキュリティ属性の割り当ての例については、「例: Microsoft Graph API を使用してカスタム セキュリティ属性の割り当てを割り当て、更新、一覧表示、または削除する」を参照してください。

要求

GET https://graph.microsoft.com/beta/users?$count=true&$select=id,displayName,customSecurityAttributes&$filter=customSecurityAttributes/Marketing/AppCountry eq 'Canada'
ConsistencyLevel: eventual

応答

HTTP/1.1 200 OK

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(id,displayName,customSecurityAttributes)",
    "@odata.count": 2,
    "value": [
        {
            "id": "dbaf3778-4f81-4ea0-ac1c-502a293c12ac",
            "displayName": "Jiya",
            "customSecurityAttributes": {
                "Engineering": {
                    "@odata.type": "#microsoft.graph.customSecurityAttributeValue",
                    "Datacenter@odata.type": "#Collection(String)",
                    "Datacenter": [
                        "India"
                    ]
                },
                "Marketing": {
                    "@odata.type": "#microsoft.graph.customSecurityAttributeValue",
                    "AppCountry@odata.type": "#Collection(String)",
                    "AppCountry": [
                        "India",
                        "Canada"
                    ],
                    "EmployeeId": "KX19476"
                }
            }
        },
        {
            "id": "6bac433c-48c6-4213-a316-1428de32701b",
            "displayName": "Jana",
            "customSecurityAttributes": {
                "Marketing": {
                    "@odata.type": "#microsoft.graph.customSecurityAttributeValue",
                    "AppCountry@odata.type": "#Collection(String)",
                    "AppCountry": [
                        "Canada",
                        "Mexico"
                    ],
                    "EmployeeId": "GS46982"
                }
            }
        }
    ]
}

例 15: 管理が制限されているすべてのユーザーを一覧表示する

次の例は、管理が制限されているユーザーをすべて一覧表示する方法を示しています。

要求

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

GET https://graph.microsoft.com/beta/users?$filter=isManagementRestricted eq true&$select=displayName,userPrincipalName

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(displayName,userPrincipalName)",
  "value": [
    {
      "displayName": "Adele",
      "userPrincipalName": "Adele@contoso.com"
    },
    {
      "displayName": "Bob",
      "userPrincipalName": "Bob@contoso.com"
    }
  ]
}

例 16: $filter と endsWith を使用して、指定したトップレベル ドメインを持つユーザーを otherMails で取得する

要求

次の例は要求を示しています。 この要求では、$count が要求にあるため、ConsistencyLevel ヘッダーを eventual に設定する必要があります。 ConsistencyLevel と $count の使用方法の詳細については、「ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

GET https://graph.microsoft.com/beta/users?$filter=otherMails/any(x:endswith(x,'.edu'))&$count=true
ConsistencyLevel: eventual

応答

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users",
    "@odata.nextLink": "https://graph.microsoft.com/beta/users?$filter=otherMails%2fany(x%3aendswith(x%2c%27.edu%27))&$skiptoken=m~AQAoOzAzNWVkMDQ1MTE5ZjRlMmNiM2Y2ODQzMmM4YzNiOWJiOzswOzA7Ow",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET users?$select=signInActivity,cloudLicensing",
    "value": [
        {
            "displayName": "Isaiah Langer",
            "mail": "isaiahl@fineartschool.edu",
            "id": "0012cd20-3890-409e-9db3-afc3055ebe22"
        },
        {
            "displayName": "Adele Vance",
            "mail": "adelev@bellowscollege.edu",
            "id": "0012cd20-3890-409e-9db3-afc3055ebe22"
        }
    ]
}

例 17: エージェント以外のすべてのユーザーを一覧表示し、ユーザーの表示名のみを表示する

要求

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

GET https://graph.microsoft.com/beta/users?$count=true&$filter=not isof('microsoft.graph.agentUser')&$select=displayName

応答

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(displayName)",
    "@odata.count": 3,
    "value": [
        {
            "displayName": "Adrian Smith",
            "id": "04b9f5a2-ee41-4d0e-b500-8de414d178c9"
        },
        {
            "displayName": "Lewis Richardson",
            "id": "0d03514d-35b0-4ffd-9ed9-d8052757e1c4"
        },
        {
            "displayName": "Fung Lu",
            "id": "146f9fcb-64c9-4b6e-b92f-bd4892fabdcd"
        }
  ]
}