次の方法で共有


Microsoft Entra ID オブジェクトの高度なクエリ機能

Microsoft Graph では、データへの効率的なアクセスに役立つ、ディレクトリ オブジェクトとも呼ばれるさまざまなMicrosoft Entra ID オブジェクトに対する高度なクエリ機能がサポートされています。 たとえば、 not (not)、not equals (ne)、ends with (endsWith) 演算子を$filter クエリ パラメーターに追加します。

Microsoft Graph クエリ エンジンは、インデックス ストアを使用してクエリ要求を実行します。 一部のプロパティに対する追加のクエリ機能のサポートを追加するために、これらのプロパティは別のストアでインデックスが作成される場合があります。 この個別のインデックス作成により、クエリのパフォーマンスが向上します。 ただし、これらの高度なクエリ機能は既定では使用できませんが、リクエスタは ConsistencyLevel ヘッダーを eventual に設定する必要がありますただし、$searchを除き、$count クエリ パラメーターを使用します。 ConsistencyLevel ヘッダーと $count は、詳細クエリ パラメーターと呼ばれます。

たとえば、非アクティブなユーザー アカウントのみを取得する場合は、$filter クエリ パラメーターを使用するこれらのクエリのいずれかを実行できます。

オプション 1:eq 演算子で $filter クエリ パラメーターを使用します。 この要求は既定で機能し、高度なクエリ パラメーターは必要ありません。

GET https://graph.microsoft.com/v1.0/users?$filter=accountEnabled eq false

オプション 2:ne 演算子で $filter クエリ パラメーターを使用します。 ne 演算子は詳細クエリでのみサポートされているため、この要求は既定ではサポートされていません。 したがって、ConsistencyLevel ヘッダー セットを eventual に追加するとともに$count=true クエリ文字列を使用する必要があります。

GET https://graph.microsoft.com/v1.0/users?$filter=accountEnabled ne true&$count=true
ConsistencyLevel: eventual

高度なクエリ機能をサポートする Microsoft Entra ID (ディレクトリ) オブジェクト

高度なクエリ機能は、ディレクトリ オブジェクトとそのリレーションシップ (次のオブジェクトを含む) でのみサポートされます。

オブジェクト リレーションシップ
administrativeUnit
  • members
  • application
  • 所有者
  • appRoleAssignment -
    device
  • memberOf
  • transitiveMemberOf
  • registeredUsers
  • registeredOwners
  • group
  • members
  • transitiveMembers
  • memberOf
  • transitiveMemberOf
  • 所有者
  • appRoleAssignments
  • oAuth2PermissionGrant (委任されたアクセス許可の付与) -
    orgContact
  • memberOf
  • transitiveMemberOf
  • servicePrincipal
  • memberOf
  • transitiveMemberOf
  • appRoleAssignments
  • appRoleAssignmentsTo
  • oAuth2PermissionGrant
  • user
  • memberOf
  • transitiveMemberOf
  • ownedObjects
  • registeredDevices
  • ownedDevices
  • transitiveManagers
  • directReports
  • transitiveReports
  • appRoleAssignments
  • oAuth2PermissionGrant
  • 高度なクエリ機能を必要とするクエリ シナリオ

    次の表に、詳細クエリでのみサポートされるディレクトリ オブジェクトのクエリ シナリオを示します。

    説明
    URL セグメントとしての $count の使用 GET~/groups/$count
    クエリ文字列パラメーターとしての $count の使用 GET~/servicePrincipals?$count=true
    $filter式での$countの使用 GET~/users?$filter=assignedLicenses/$count eq 0&$count=true
    $search の使用 GET~/applications?$search="displayName:Browser"
    一部のプロパティでの $orderby の使用 GET~/applications?$orderby=displayName&$count=true
    endsWith 演算子での $filter の使用 GET~/users?$count=true&$filter=endsWith(mail,'@outlook.com')
    同じクエリでの $filter$orderby の使用 GET../applications?$orderby=displayName&$filter=startsWith(displayName, 'Box')&$count=true
    特定のプロパティの startsWith 演算子での $filter の使用。 GET~/users?$filter=startsWith(mobilePhone, '25478') OR startsWith(mobilePhone, '25473')&$count=true
    ne および not 演算子と $filter の使用 GET~/users?$filter=companyName ne null and NOT(companyName eq 'Microsoft')&$count=true
    not および startsWith 演算子と $filter の使用 GET~/users?$filter=NOT startsWith(displayName, 'Conf')&$count=true
    endsWith 演算子を使用したコレクションにおける $filter の使用 GET~/users?$count=true&$filter=proxyAddresses/any (p:endsWith(p, 'contoso.com'))&$select=id,displayName,proxyaddresses
    遷移的なメンバーリストでの OData キャストの使用 GET~/me/transitiveMemberOf/microsoft.graph.group?$count=true

    注:

    • $filter$orderbyの併用は、高度なクエリでのみサポートされます。
    • $expand は、現在、高度なクエリではサポートされていません。
    • 現在、高度なクエリ機能は、Azure AD B2C テナントでは使用できません。
    • バッチ要求で高度なクエリ機能を使用するには、POST 要求の JSON 本文で ConsistencyLevel ヘッダーを指定します。

    Microsoft Entra ID (ディレクトリ) オブジェクトのプロパティによるフィルターのサポート

    ディレクトリ オブジェクトのプロパティは、クエリ パラメーターのサポートにおいて異なる動作をします。 ディレクトリ オブジェクトの一般的なシナリオは次のとおりです。

    • in演算子は、eq演算子が既定でサポートされる場合はいつでも、既定でサポートされます。
    • endswith演算子は、高度なクエリ パラメーターでのみサポートされ、メールotherMailsuserPrincipalNameproxyAddresses プロパティでのみサポートされます。
    • 空のコレクション (/$count eq 0/$count ne 0) と 1 つ未満のオブジェクトを持つコレクション (/$count eq 1/$count ne 1) の取得は、高度なクエリ パラメーターでのみサポートされます。
    • not およびne 否定演算子は、高度なクエリ パラメーターでのみサポートされます。
      • eq 演算子をサポートするすべてのプロパティは、ne または not 演算子もサポートします。
      • any ラムダ演算子を使用するクエリの場合は、not 演算子を使用します。 「ラムダ演算子を使用したフィルター」を参照してください。

    次の表は、ディレクトリ オブジェクトのプロパティによる $filter 演算子のサポートをまとめたものであり、高度なクエリ機能を使用したクエリがサポートされる場所を示しています。

    凡例

    • フィルターは既定で機能します。高度なクエリ パラメーターは必要ありませんが、高度なクエリ パラメーターでも機能します。 $filter演算子は、そのプロパティに対して既定で機能します。
    • フィルターは、高度なクエリ パラメーターなしでのみ機能します。 $filter演算子は、高度なクエリ パラメーターなしでのみ機能します。
    • フィルターには高度なクエリ パラメーターが必要です。 $filter演算子には、次の高度なクエリ パラメーター必要です。
      • ConsistencyLevel=eventual ヘッダー
      • $count=true クエリ文字列
    • サポートされていません。 $filter 演算子は、そのプロパティではサポートされません。 [フィードバックを送信] して、このプロパティがシナリオに $filter をサポートすることを要求します。
    • 空白のセルは、クエリがそのプロパティに対して無効であることを示します。
    • null 値列は、プロパティが null 許容であり、nullを使用してフィルター可能であることを示します。
    • ここに記載されていないプロパティは、$filter を一切サポートしました。

    管理単位のプロパティ

    プロパティ eq startsWith eq Null
    説明 Advanced Advanced Advanced Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    isMemberManagementRestricted Default + Advanced
    membershipRule Default + Advanced Default + Advanced
    membershipRuleProcessingState Default + Advanced

    アプリケーションのプロパティ

    プロパティ eq startsWith ge/le eq Null
    appId Default + Advanced
    createdDateTime Default + Advanced Advanced Advanced
    説明 Advanced Advanced Advanced Advanced Advanced Advanced
    disabledByMicrosoftStatus Default + Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/issuer) Advanced Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/name) Advanced Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/subject) Advanced Advanced Advanced Advanced
    identifierUris/any(p:p) Default + Advanced Default + Advanced
    info/logoUrl Advanced Advanced
    info/termsOfServiceUrl Advanced Advanced Advanced Advanced
    notes Advanced Advanced Advanced Advanced Advanced Advanced
    publicClient/redirectUris/any(p:p) Advanced Advanced Advanced Advanced
    publisherDomain Default + Advanced Default + Advanced
    requiredResourceAccess/any(r:r/resourceAppId) Advanced Advanced
    serviceManagementReference Advanced Advanced Advanced Advanced Advanced Advanced
    signInAudience Default + Advanced
    spa/redirectUris/any(p:p) Advanced Advanced Advanced Advanced
    tags/any(p:p) Default + Advanced Default + Advanced
    uniqueName Default + Advanced Default + Advanced
    verifiedPublisher/displayName Advanced Advanced Advanced Advanced Advanced Advanced
    web/homePageUrl Advanced Advanced Advanced Advanced Advanced Advanced
    web/redirectUris/any(p:p) Advanced Advanced Advanced Advanced

    アプリケーション エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    extensionProperties/$count Advanced Advanced NotSupported
    federatedIdentityCredentials/$count Advanced Advanced NotSupported

    コントラクト プロパティ

    プロパティ eq startsWith
    customerId Default + Advanced
    defaultDomainName Default + Advanced Default + Advanced
    displayName Default + Advanced Default + Advanced

    デバイス プロパティ

    プロパティ eq startsWith ge/le eq Null
    accountEnabled Default + Advanced
    alternativeSecurityIds/any(a:a/identityProvider) Advanced Advanced Advanced Advanced
    alternativeSecurityIds/any(a:a/type) Default + Advanced
    approximateLastSignInDateTime Default + Advanced Advanced Advanced
    deviceCategory Advanced Advanced Advanced Advanced Advanced Advanced
    deviceId Default + Advanced
    deviceOwnership Advanced Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    enrollmentProfileName Advanced Advanced Advanced Advanced Advanced Advanced
    extensionAttributes/extensionAttribute1-15 Advanced Advanced Advanced Advanced Advanced Advanced
    hostnames/any(p:p) Default + Advanced Default + Advanced
    isCompliant Default + Advanced
    isManaged Default + Advanced
    isRooted Advanced Advanced Advanced Advanced
    managementType Advanced Advanced Advanced Advanced
    manufacturer Advanced Advanced Advanced Advanced Advanced Advanced
    mdmAppId Default + Advanced Advanced Advanced
    model Advanced Advanced Advanced Advanced Advanced Advanced
    onPremisesLastSyncDateTime Default + Advanced
    onPremisesSecurityIdentifier Default + Advanced Advanced Advanced
    onPremisesSyncEnabled Default + Advanced Advanced Advanced
    operatingSystem Default + Advanced Default + Advanced Advanced Advanced
    operatingSystemVersion Default + Advanced Default + Advanced Advanced Advanced
    physicalIds/any(p:p) Default + Advanced
    profileType Default + Advanced
    registrationDateTime Advanced Advanced Advanced Advanced
    trustType Default + Advanced

    device エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    physicalIds/$count Advanced Advanced NotSupported
    systemLabels/$count Advanced Advanced NotSupported

    ディレクトリ ロールのプロパティ

    プロパティ eq startsWith eq Null
    説明 Advanced Advanced Advanced Advanced Advanced Advanced
    displayName Default + Advanced Advanced Advanced Advanced Advanced
    roleTemplateId Default + Advanced NotSupported

    グループのプロパティ

    プロパティ eq startsWith ge/le eq Null
    assignedLicenses/any(a:a/skuId) Default + Advanced
    classification Default + Advanced Default + Advanced
    createdByAppId Default + Advanced
    createdDateTime Advanced Advanced Advanced Advanced
    説明 Advanced Advanced Advanced Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    expirationDateTime Advanced Advanced
    groupTypes/any(p:p) Default + Advanced
    hasMembersWithLicenseErrors DefaultOnly DefaultOnly
    infoCatalogs/any(p:p) Default + Advanced Default + Advanced
    isAssignableToRole Default + Advanced
    mail Default + Advanced Default + Advanced Advanced Advanced
    mailEnabled Default + Advanced
    mailNickname Default + Advanced Default + Advanced Advanced Advanced
    membershipRule Default + Advanced Default + Advanced
    membershipRuleProcessingState Default + Advanced
    onPremisesLastSyncDateTime Default + Advanced
    onPremisesProvisioningErrors/any(o:o/category) Default + Advanced
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Default + Advanced
    onPremisesSamAccountName Advanced Advanced Advanced Advanced
    onPremisesSecurityIdentifier Default + Advanced Advanced Advanced
    onPremisesSyncEnabled Default + Advanced Advanced Advanced
    preferredLanguage Advanced Advanced Advanced Advanced
    proxyAddresses/any(p:p) Default + Advanced Default + Advanced
    renewedDateTime Default + Advanced
    resourceBehaviorOptions/any(p:p) Default + Advanced
    resourceProvisioningOptions/any(p:p) Default + Advanced
    securityEnabled Default + Advanced
    uniqueName Default + Advanced Default + Advanced

    group エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    assignedLicenses/$count Advanced Advanced NotSupported
    onPremisesProvisioningErrors/$count Advanced Advanced NotSupported
    proxyAddresses/$count Advanced Advanced NotSupported

    組織の連絡先のプロパティ

    プロパティ eq startsWith ge/le eq Null
    CompanyName Advanced Advanced Advanced Advanced Advanced Advanced
    department Default + Advanced Default + Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    givenName Default + Advanced Default + Advanced Advanced Advanced
    jobTitle Default + Advanced Default + Advanced Advanced Advanced
    mail Default + Advanced Default + Advanced Advanced Advanced
    mailNickname Default + Advanced Default + Advanced Advanced Advanced
    manager/id Default + Advanced
    onPremisesLastSyncDateTime Default + Advanced
    onPremisesProvisioningErrors/any(o:o/category) Default + Advanced
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Default + Advanced
    onPremisesSyncEnabled Default + Advanced Advanced Advanced
    proxyAddresses/any(p:p) Default + Advanced Default + Advanced
    surname Default + Advanced Default + Advanced Advanced Advanced

    orgContact エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    onPremisesProvisioningErrors/$count Advanced Advanced NotSupported
    proxyAddresses/$count Advanced Advanced NotSupported

    サービス プリンシパルのプロパティ

    プロパティ eq startsWith ge/le eq Null
    accountEnabled Default + Advanced
    alternativeNames/any(p:p) Default + Advanced Default + Advanced
    appId Default + Advanced
    appOwnerOrganizationId Advanced Advanced
    appRoleAssignmentRequired Advanced Advanced
    applicationTemplateId Default + Advanced
    claimsPolicy/id Default + Advanced
    createdObjects/any(c:c/id) Advanced Advanced
    説明 Advanced Advanced Advanced Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/issuer) Advanced Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/name) Advanced Advanced Advanced Advanced
    federatedIdentityCredentials/any(f:f/subject) Advanced Advanced Advanced Advanced
    HomePage Advanced Advanced Advanced Advanced Advanced Advanced
    info/logoUrl Advanced Advanced
    info/termsOfServiceUrl Advanced Advanced Advanced Advanced
    notes Advanced Advanced Advanced Advanced Advanced Advanced
    preferredSingleSignOnMode Default + Advanced
    preferredTokenSigningKeyEndDateTime Default + Advanced
    publisherName Default + Advanced Default + Advanced
    remoteDesktopSecurityConfiguration/id Default + Advanced
    servicePrincipalNames/any(p:p) Default + Advanced Default + Advanced
    servicePrincipalType Default + Advanced
    tags/any(p:p) Default + Advanced Default + Advanced
    verifiedPublisher/displayName Advanced Advanced Advanced Advanced Advanced Advanced

    servicePrincipal エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    federatedIdentityCredentials/$count Advanced Advanced NotSupported

    ユーザーのプロパティ

    プロパティ eq startsWith ge/le eq Null
    accountEnabled Default + Advanced
    ageGroup Default + Advanced
    assignedLicenses/any(a:a/skuId) Default + Advanced
    assignedPlans/any(a:a/capabilityStatus) Advanced Advanced
    assignedPlans/any(a:a/service) Advanced Advanced Advanced Advanced
    assignedPlans/any(a:a/servicePlanId) Advanced Advanced
    authorizationInfo/certificateUserIds/any(p:p) Advanced Advanced
    businessPhones/any(p:p) Advanced Advanced Advanced Advanced
    city Default + Advanced Default + Advanced Advanced Advanced
    cloudRealtimeCommunicationInfo/isSipEnabled Default + Advanced
    CompanyName Advanced Advanced Advanced Advanced Advanced Advanced
    consentProvidedForMinor Default + Advanced
    country Default + Advanced Default + Advanced Advanced Advanced
    createdDateTime Default + Advanced Advanced Advanced
    createdObjects/any(c:c/id) Advanced Advanced
    creationType Default + Advanced
    department Default + Advanced Default + Advanced Advanced Advanced
    displayName Default + Advanced Default + Advanced Advanced Advanced
    employeeHireDate Advanced Advanced
    employeeId Default + Advanced Advanced Advanced
    employeeOrgData/costCenter Advanced Advanced Advanced Advanced
    employeeOrgData/division Advanced Advanced Advanced Advanced
    employeeType Advanced Advanced
    externalUserState Default + Advanced
    faxNumber Advanced Advanced Advanced Advanced Advanced Advanced
    givenName Default + Advanced Default + Advanced Advanced Advanced
    identities/any(i:i/issuer) DefaultOnly DefaultOnly
    imAddresses/any(p:p) Default + Advanced Default + Advanced
    infoCatalogs/any(p:p) Default + Advanced Default + Advanced
    isLicenseReconciliationNeeded DefaultOnly
    isResourceAccount Default + Advanced
    jobTitle Default + Advanced Default + Advanced Advanced Advanced
    mail Default + Advanced Default + Advanced Advanced Advanced
    mailNickname Default + Advanced Default + Advanced Advanced Advanced
    mobilePhone Advanced Advanced Advanced Advanced Advanced Advanced
    officeLocation Advanced Advanced Advanced Advanced Advanced Advanced
    onPremisesDistinguishedName Advanced Advanced Advanced Advanced Advanced Advanced
    onPremisesExtensionAttributes/extensionAttribute1-15 Advanced Advanced Advanced Advanced Advanced Advanced
    onPremisesImmutableId Default + Advanced
    onPremisesLastSyncDateTime Default + Advanced
    onPremisesProvisioningErrors/any(o:o/category) Default + Advanced
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Default + Advanced
    onPremisesSamAccountName Advanced Advanced Advanced Advanced
    onPremisesSecurityIdentifier Default + Advanced Advanced Advanced
    onPremisesSipInfo/isSipEnabled Advanced Advanced
    onPremisesSyncEnabled Default + Advanced Advanced Advanced
    otherMails/any(p:p) Default + Advanced Default + Advanced
    passwordPolicies Advanced Advanced
    passwordProfile/forceChangePasswordNextSignIn Advanced Advanced Advanced Advanced
    passwordProfile/forceChangePasswordNextSignInWithMfa Advanced Advanced Advanced Advanced
    postalCode Advanced Advanced Advanced Advanced Advanced Advanced
    preferredLanguage Advanced Advanced Advanced Advanced
    provisionedPlans/any(p:p/provisioningStatus) Advanced Advanced
    provisionedPlans/any(p:p/service) Advanced Advanced Advanced Advanced
    proxyAddresses/any(p:p) Default + Advanced Default + Advanced
    state Default + Advanced Advanced Advanced
    streetAddress Advanced Advanced Advanced Advanced Advanced Advanced
    surname Default + Advanced Default + Advanced Advanced Advanced
    usageLocation Default + Advanced Default + Advanced Advanced Advanced
    userPrincipalName Default + Advanced Default + Advanced
    userType Default + Advanced Advanced Advanced

    user エンティティの次のプロパティは、フィルター式でのコレクションの $count をサポートしています。

    プロパティ eq Count 0 eq Count 1
    assignedLicenses/$count Advanced Advanced NotSupported
    onPremisesProvisioningErrors/$count Advanced Advanced NotSupported
    otherMails/$count Advanced Advanced NotSupported
    ownedObjects/$count Advanced Advanced Advanced Advanced
    proxyAddresses/$count Advanced Advanced NotSupported

    次の表は、user オブジェクトの他の拡張プロパティによる $filter のサポートを示しています。

    拡張機能の種類 eq startsWith eq null
    スキーマ拡張機能 Advanced Advanced Advanced Advanced Advanced Advanced
    Open extensions NotSupported NotSupported NotSupported
    ディレクトリ拡張機能 Default + Advanced Advanced Advanced Advanced Advanced

    Microsoft Entra ID (ディレクトリ) オブジェクトのプロパティによる並べ替えのサポート

    次の表は、ディレクトリ オブジェクトのプロパティによる $orderby のサポートをまとめたものであり、高度なクエリ機能を使用した並べ替えがサポートされる場所を示しています。

    凡例

    • 並べ替えは既定で機能します。高度なクエリ パラメーターは必要ありません。 $orderby演算子は、そのプロパティに対して既定で機能します。
    • 並べ替えには、高度なクエリ パラメーターが必要です。 $orderby演算子には、次の高度なクエリ パラメーター必要です。
      • ConsistencyLevel=eventual ヘッダー
      • $count=true クエリ文字列
    • ディレクトリ オブジェクトに対する同じクエリで $filter$orderby を使用するには、常に高度なクエリ パラメーターが必要です。 詳細については、「高度なクエリ機能を必要とするクエリ シナリオ」を参照してください。
    ディレクトリ オブジェクト プロパティ名 $orderby
    administrativeUnit createdDateTime Advanced Advanced
    administrativeUnit deletedDateTime Advanced Advanced
    administrativeUnit displayName Advanced Advanced
    アプリケーション createdDateTime Advanced Advanced
    アプリケーション deletedDateTime Advanced Advanced
    アプリケーション displayName Advanced Advanced
    orgContact createdDateTime Advanced Advanced
    orgContact displayName Advanced Advanced
    デバイス approximateLastSignInDateTime Advanced Advanced
    デバイス createdDateTime Advanced Advanced
    デバイス deletedDateTime Advanced Advanced
    デバイス displayName Advanced Advanced
    グループ createdDateTime Advanced Advanced
    グループ deletedDateTime Advanced Advanced
    グループ displayName 既定の既定値
    servicePrincipal createdDateTime Advanced Advanced
    servicePrincipal deletedDateTime Advanced Advanced
    servicePrincipal displayName Advanced Advanced
    ユーザー createdDateTime Advanced Advanced
    ユーザー deletedDateTime Advanced Advanced
    ユーザー displayName 既定の既定値
    ユーザー userPrincipalName 既定の既定値
    [その他] [その他] NotSupported

    ディレクトリ オブジェクトの詳細クエリに対するエラー処理

    次のセクションでは、必要に応じて高度なクエリ パラメーターを使用しない場合の一般的なエラー シナリオの例を示します。

    ディレクトリ オブジェクトのカウントは、詳細クエリ パラメーターの使用でのみサポートされます。 ConsistencyLevel=eventual ヘッダーが指定されていない場合、要求は、$count URL セグメント (/$count) が使用されている場合にエラーを返すか、使用されている場合は$countクエリ パラメーター (?$count=true) を自動的に無視します。

    GET https://graph.microsoft.com/v1.0/users/$count
    
    {
        "error": {
            "code": "Request_BadRequest",
            "message": "$count is not currently supported.",
            "innerError": {
                "date": "2021-05-18T19:03:10",
                "request-id": "d9bbd4d8-bb2d-44e6-99a1-71a9516da744",
                "client-request-id": "539da3bd-942f-25db-636b-27f6f6e8eae4"
            }
        }
    }
    

    ディレクトリ オブジェクトの場合、 $search は高度なクエリでのみ機能します。 ConsistencyLevel ヘッダーが指定されていない場合、要求はエラーを返します。

    GET https://graph.microsoft.com/v1.0/applications?$search="displayName:Browser"
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Request with $search query parameter only works through MSGraph with a special request header: 'ConsistencyLevel: eventual'",
            "innerError": {
                "date": "2021-05-27T14:26:47",
                "request-id": "9b600954-ba11-4899-8ce9-6abad341f299",
                "client-request-id": "7964ef27-13a3-6ca4-ed7b-73c271110867"
            }
        }
    }
    

    URL のプロパティまたはクエリ パラメーターが詳細クエリでのみサポートされているが、ConsistencyLevel ヘッダーまたは $count=true クエリ文字列のいずれかが欠落している場合、要求はエラーを返します。

    GET https://graph.microsoft.com/beta/users?$filter=endsWith(userPrincipalName,'%23EXT%23@contoso.com')
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Operator 'endsWith' is not supported because the required parameters might be missing. Try adding $count=true query parameter and ConsistencyLevel:eventual header. Refer to https://aka.ms/graph-docs/advanced-queries for more information",
            "innerError": {
                "date": "2023-07-14T08:43:39",
                "request-id": "b3731da7-5c46-4c37-a8e5-b190124d2531",
                "client-request-id": "a1556ddf-4794-929d-0105-b753a78b4c68"
            }
        }
    }
    

    クエリ パラメーターをサポートするためにプロパティのインデックスが作成されていない場合、高度なクエリ パラメーターが指定されている場合でも、要求はエラーを返します。 たとえば、グループ リソースの createdDateTime プロパティにはクエリ機能のインデックスが作成されません。

    GET https://graph.microsoft.com/beta/groups?$filter=createdDateTime ge 2021-11-01&$count=true
    ConsistencyLevel: eventual
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Unsupported or invalid query filter clause specified for property 'createdDateTime' of resource 'Group'.",
            "innerError": {
                "date": "2023-07-14T08:42:44",
                "request-id": "b6a5f998-94c8-430d-846d-2eaae3031492",
                "client-request-id": "2be83e05-649e-2508-bcd9-62e666168fc8"
            }
        }
    }
    

    ただし、クエリ パラメーターを含む要求は、サイレントに失敗する可能性があります。 たとえば、クエリ パラメーターがサポートされていない場合や、クエリ パラメーターの組み合わせがサポートされていない場合です。 その場合、要求によって返されたデータを調べ、指定したクエリ パラメーターに期待どおりの効果があったかどうかを確認してください。 たとえば、次の例では、クエリが成功の場合でも @odata.count パラメーターが欠落しています。

    GET https://graph.microsoft.com/v1.0/users?$count=true
    
    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
      "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
      "value":[
        {
          "displayName":"Oscar Ward",
          "mail":"oscarward@contoso.com",
          "userPrincipalName":"oscarward@contoso.com"
        }
      ]
    }