Recursos avançados de consulta em objetos Microsoft Entra ID

À medida que Microsoft Entra continua fornecendo mais recursos e melhorias em estabilidade, disponibilidade e desempenho, o Microsoft Graph também continua a evoluir e escalar para acessar os dados com eficiência. Uma maneira é por meio do suporte crescente do Microsoft Graph para recursos avançados de consulta em vários objetos Microsoft Entra ID, também chamados de objetos de diretório e suas propriedades. Por exemplo, a adição de não (not), não é igual a (ne) e termina com (endsWith) operadores no parâmetro de consulta$filter.

O mecanismo de consulta do Microsoft Graph usa um repositório de índice para atender às solicitações de consulta. Para adicionar suporte as funcionalidades adicionais de consulta em algumas propriedades, essas propriedades agora são indexadas em um repositório separado. Essa indexação separada permite que Microsoft Entra ID aumente o suporte e melhore o desempenho das solicitações de consulta. No entanto, esses recursos avançados de consulta não estão disponíveis por padrão, mas o solicitante também deve definir o cabeçalho ConsistencyLevel como eventuale, exceto para $search, use o $count parâmetro de consulta. O cabeçalho ConsistencyLevel e $count são referidos como parâmetros de consulta avançados.

Por exemplo, para recuperar apenas contas de usuários inativos, você pode executar qualquer uma destas consultas que utilizam o parâmetro de consulta $filter.

Opção 1: Use o $filter parâmetro de consulta com o eq operador. Essa solicitação funciona por padrão, ou seja, a solicitação não requer os parâmetros de consulta avançados.

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

Opção 2: Use o $filter parâmetro de consulta com o ne operador. Essa solicitação não tem suporte por padrão porque o ne operador só tem suporte em consultas avançadas. Portanto, você deve adicionar o conjunto de cabeçalho eventualConsistencyLevele usar a $count=true cadeia de caracteres de consulta.

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

Microsoft Entra ID objetos (diretório) que dão suporte a recursos avançados de consulta

Essas funcionalidades avançadas de consulta têm suporte apenas em objetos de diretório e suas relações, incluindo os seguintes objetos usados com frequência:

Objeto Relações
administrativeUnit
  • membros
  • application
  • proprietários
  • appRoleAssignment -
    device
  • memberOf
  • transitiveMemberOf
  • registeredUsers
  • registeredOwners
  • group
  • membros
  • transitiveMembers
  • memberOf
  • transitiveMemberOf
  • proprietários
  • appRoleAssignments
  • oAuth2PermissionGrant (concessões de permissão delegadas) -
    orgContact
  • memberOf
  • transitiveMemberOf
  • servicePrincipal
  • memberOf
  • transitiveMemberOf
  • appRoleAssignments
  • appRoleAssignmentsTo
  • oAuth2PermissionGrant
  • user
  • memberOf
  • transitiveMemberOf
  • ownedObjects
  • registeredDevices
  • ownedDevices
  • transitiveManagers
  • directReports
  • transitiveReports
  • appRoleAssignments
  • oAuth2PermissionGrant
  • Cenários de consulta que exigem recursos avançados de consulta

    A tabela a seguir lista os cenários de consulta em objetos de diretório com suporte apenas em consultas avançadas:

    Descrição Exemplo
    Usar $count como um segmento URL OBTER~/groups/$count
    Usar o $count como parâmetro consultar cadeia de caracteres OBTER~/servicePrincipals?$count=true
    Uso de $count em uma expressão $filter OBTER~/users?$filter=assignedLicenses/$count eq 0&$count=true
    Usar de $search OBTER~/applications?$search="displayName:Browser"
    Usar $orderby em propriedades selecionadas OBTER~/applications?$orderby=displayName&$count=true
    Usar o $filter com o endsWith operador OBTER~/users?$count=true&$filter=endsWith(mail,'@outlook.com')
    Usar o $filter e $orderby na mesma consulta OBTER../applications?$orderby=displayName&$filter=startsWith( displayName, 'Box')&$count=true
    Uso o $filter com os startsWith operadores em propriedades específicas. OBTER~/users?$filter=startsWith(mobilePhone, '25478') OR startsWith(mobilePhone, '25473')&$count=true
    Usar o $filter com ne e not operadores OBTER~/users?$filter=companyName ne null and NOT(companyName eq 'Microsoft')&$count=true
    Usar o $filter com not e startsWith operadores OBTER~/users?$filter=NOT startsWith(displayName, 'Conf')&$count=true
    Uso de $filter em uma coleção com o operador endsWith OBTER~/users?$count=true&$filter=proxyAddresses/any (p:endsWith(p, 'contoso.com'))&$select=id,displayName,proxyaddresses
    Uso de conversão de OData com lista de membros transitivos OBTER~/me/transitiveMemberOf/microsoft.graph.group?$count=true

    Observação

    • O uso de $filter e $orderby juntos é suportado apenas em consultas avançadas.
    • $expand atualmente não é suportado em consultas avançadas.
    • As funcionalidades de consulta avançada não estão disponíveis no momento para locatários do Azure AD B2C.
    • Para usar recursos avançados de consulta em solicitações em lote, especifique o cabeçalho ConsistencyLevel na propriedade da POST solicitação JSON.

    Suporte para filtro por propriedades de objetos Microsoft Entra ID (diretório)

    As propriedades dos objetos de diretório se comportam de forma diferente em seu suporte aos parâmetros de consulta. Os cenários a seguir são comuns para objetos de diretório:

    • As consultas com suporte por padrão também funcionarão com parâmetros de consulta avançados, mas a resposta será eventualmente consistente.
    • O operador in é suportado por padrão sempre que o operador eq for suportado por padrão.
    • O endsWith operador tem suporte apenas com parâmetros de consulta avançados por email, outras propriedadesMails, userPrincipalName e proxyAddresses .
    • Obter coleções vazias (/$count eq 0, /$count ne 0) e coleções com menos de um objeto (/$count eq 1, /$count ne 1) é compatível apenas com parâmetros de consulta avançados.
    • Os not operadores de negação e ne têm suporte apenas com parâmetros de consulta avançados.
      • Todas as propriedades que dão suporte ao eq operador também dão suporte aos ne operadores ou not .
      • Para consultas que utilizam o any operador lambda, usar o not operador. Veja Filtrar utilizando operadores lambda.

    As tabelas a seguir resumem o suporte para $filter operadores por propriedades de objetos de diretório e indicam onde há suporte para consulta por meio de recursos avançados de consulta.

    Legend

    • Funciona por padrão. Não requer parâmetros de consulta avançados. O $filter operador funciona por padrão para essa propriedade.
    • Requer parâmetros de consulta avançados. O $filter operador requer parâmetrosde consulta avançados, que são:
      • ConsistencyLevel=eventual cabeçalho
      • $count=true cadeia de caracteres
    • Não há suporte. O $filter operador não tem suporte nessa propriedade. Envie-nos comentários para solicitar que esta propriedade suporte $filter para seus cenários.
    • Células em branco indicam que a consulta não é válida para essa propriedade.
    • A coluna de valor nulo indica que a propriedade pode ser anulada e filtrada usando null.
    • As propriedades que não estão listadas aqui não dão suporte $filter .

    Propriedades da unidade administrativa

    Propriedade eq startsWith eq Null
    description Avançado Avançado Avançado
    displayName Padrão Padrão Avançado
    isMemberManagementRestricted Padrão NotSupported
    membershipRule Padrão Padrão NotSupported
    membershipRuleProcessingState Padrão NotSupported
    scopedRoleMembers/any(s:s/id) Padrão

    Propriedades do aplicativo

    Propriedade eq startsWith ge/le eq Null
    appId Padrão
    createdDateTime Padrão Padrão Avançado
    createdOnBehalfOf/id Padrão
    description Avançado Avançado Avançado
    disabledByMicrosoftStatus Padrão NotSupported
    displayName Padrão Padrão Avançado
    federatedIdentityCredentials/any(f:f/issuer) Avançado Avançado NotSupported
    federatedIdentityCredentials/any(f:f/name) Avançado Avançado NotSupported
    federatedIdentityCredentials/any(f:f/subject) Avançado Avançado NotSupported
    identifierUris/any(p:p) Padrão Padrão
    info/logoUrl NotSupported NotSupported Avançado
    info/termsOfServiceUrl Avançado Avançado NotSupported
    notes Avançado Avançado Avançado
    publicClient/redirectUris/any(p:p) Avançado Avançado
    publisherDomain Padrão Padrão NotSupported
    requiredResourceAccess/any(r:r/resourceAppId) Avançado
    referênciaDeGerenciamentoDeServiços Avançado Avançado Avançado
    signInAudience Padrão NotSupported
    spa/redirectUris/any(p:p) Avançado Avançado
    tags/any(p:p) Padrão Padrão
    Nome único Padrão Padrão NotSupported
    verifiedPublisher/displayName Avançado Avançado Avançado
    web/homePageUrl Avançado Avançado Avançado
    web/redirectUris/any(p:p) Avançado Avançado

    As propriedades a seguir da entidade de aplicativo dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    extensionProperties/$count Avançado NotSupported
    federatedIdentityCredentials/$count Avançado NotSupported

    Propriedades do contrato

    Propriedade eq startsWith
    customerId Padrão
    defaultDomainName Padrão Padrão
    displayName Padrão Padrão

    Propriedades do dispositivo

    Propriedade eq startsWith ge/le eq Null
    accountEnabled Padrão NotSupported
    alternativeSecurityIds/any(a:a/identityProvider) Avançado Avançado NotSupported
    alternativeSecurityIds/any(a:a/type) Padrão Avançado NotSupported
    approximateLastSignInDateTime Padrão Padrão Avançado
    deviceCategory Avançado Avançado Avançado
    deviceId Padrão
    deviceOwnership Avançado Avançado
    displayName Padrão Padrão Avançado
    enrollmentProfileName Avançado Avançado Avançado
    extensionAttributes/extensionAttribute1-15 Avançado Avançado Avançado
    hostnames/any(p:p) Padrão Padrão
    isCompliant Padrão NotSupported
    isManaged Padrão NotSupported
    isRooted Avançado Avançado
    managementType Avançado Avançado
    fabricante Avançado Avançado Avançado
    mdmAppId Padrão
    modelo Avançado Avançado Avançado
    onPremisesLastSyncDateTime Padrão Padrão NotSupported
    onPremisesSecurityIdentifier Padrão Avançado
    onPremisesSyncEnabled Padrão Avançado
    operatingSystem Padrão Padrão Avançado
    operatingSystemVersion Padrão Padrão Avançado
    physicalIds/any(p:p) Padrão
    profileType Padrão NotSupported
    registrationDateTime Avançado Avançado Avançado
    trustType Padrão NotSupported

    As propriedades a seguir da entidade de dispositivo dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    physicalIds/$count Avançado NotSupported
    systemLabels/$count Avançado NotSupported

    Propriedades da função de diretório

    Propriedade eq startsWith eq Null
    description Avançado Avançado Avançado
    displayName Padrão Avançado Avançado
    roleTemplateId Padrão NotSupported

    Propriedades do grupo

    Propriedade eq startsWith ge/le eq Null
    appRoleAssignments/any(a:a/id) Padrão
    assignedLicenses/any(a:a/skuId) Padrão
    classificação Padrão Padrão NotSupported
    createdByAppId Padrão
    createdOnBehalfOf/id Padrão
    description Avançado Avançado Avançado
    displayName Padrão Padrão Avançado
    expirationDateTime Avançado Avançado NotSupported
    hasMembersWithLicenseErrors Padrão Padrão
    infoCatalogs/any(p:p) Padrão Padrão
    isAssignableToRole Padrão NotSupported
    Email Padrão Padrão Avançado
    mailEnabled Padrão NotSupported
    mailNickname Padrão Padrão Avançado
    membershipRule Padrão Padrão NotSupported
    membershipRuleProcessingState Padrão NotSupported
    onPremisesLastSyncDateTime Padrão Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Padrão NotSupported
    onPremisesSamAccountName Avançado Avançado NotSupported
    onPremisesSecurityIdentifier Padrão Avançado
    onPremisesSyncEnabled Padrão Avançado
    preferredLanguage Avançado Avançado Avançado
    proxyAddresses/any(p:p) Padrão Padrão
    renewedDateTime Padrão Padrão NotSupported
    resourceBehaviorOptions/any(p:p) Padrão
    resourceProvisioningOptions/any(p:p) Padrão
    securityEnabled Padrão NotSupported
    configurações/any(s:s/displayName) Padrão Padrão NotSupported
    configurações/any(s:s/id) Padrão
    Nome único Padrão Padrão NotSupported

    As propriedades a seguir da entidade de grupo dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    assignedLicenses/$count Avançado NotSupported
    onPremisesProvisioningErrors/$count Avançado NotSupported
    proxyAddresses/$count Avançado NotSupported

    Propriedades de contato organizacional

    Propriedade eq startsWith ge/le eq Null
    CompanyName Avançado Avançado Avançado
    department Padrão Padrão Avançado
    displayName Padrão Padrão Avançado
    givenName Padrão Padrão Avançado
    jobTitle Padrão Padrão Avançado
    Email Padrão Padrão Avançado
    mailNickname Padrão Padrão Avançado
    manager/id Padrão
    onPremisesLastSyncDateTime Padrão Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Padrão NotSupported
    onPremisesSyncEnabled Padrão Avançado
    proxyAddresses/any(p:p) Padrão Padrão
    surname Padrão Padrão Avançado

    As propriedades a seguir da entidade orgContact dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    onPremisesProvisioningErrors/$count Avançado NotSupported
    proxyAddresses/$count Avançado NotSupported

    Propriedades da entidade de serviço

    Propriedade eq startsWith ge/le eq Null
    accountEnabled Padrão NotSupported
    alternativeNames/any(p:p) Padrão Padrão
    appId Padrão
    appOwnerOrganizationId Avançado
    appRoleAssignedTo/any(a:a/id) Padrão
    appRoleAssignmentRequired Avançado NotSupported
    appRoleAssignments/any(a:a/id) Padrão
    applicationTemplateId Padrão
    createdObjects/any(c:c/id) Avançado
    delegatedPermissionClassifications/any(d:d/id) Padrão
    description Avançado Avançado Avançado
    displayName Padrão Padrão Avançado
    federatedIdentityCredentials/any(f:f/issuer) Avançado Avançado NotSupported
    federatedIdentityCredentials/any(f:f/name) Avançado Avançado NotSupported
    federatedIdentityCredentials/any(f:f/subject) Avançado Avançado NotSupported
    homepage Avançado Avançado Avançado
    info/logoUrl NotSupported NotSupported Avançado
    info/termsOfServiceUrl Avançado Avançado NotSupported
    notes Avançado Avançado Avançado
    oauth2PermissionGrants/any(o:o/id) Padrão
    preferredSingleSignOnMode Padrão NotSupported
    preferredTokenSigningKeyEndDateTime Padrão Padrão NotSupported
    publisherName Padrão Padrão NotSupported
    remoteDesktopSecurityConfiguration/id Padrão
    remoteDesktopSecurityConfiguration/targetDeviceGroups/any(t:t/displayName) Padrão Padrão NotSupported
    remoteDesktopSecurityConfiguration/targetDeviceGroups/any(t:t/id) Padrão
    servicePrincipalNames/any(p:p) Padrão Padrão
    servicePrincipalType Padrão NotSupported
    tags/any(p:p) Padrão Padrão
    verifiedPublisher/displayName Avançado Avançado Avançado

    As propriedades a seguir da entidade servicePrincipal dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    federatedIdentityCredentials/$count Avançado NotSupported
    ownedObjects/$count Avançado Avançado

    Propriedades de usuário

    Propriedade eq startsWith ge/le eq Null
    accountEnabled Padrão NotSupported
    ageGroup Padrão NotSupported
    appRoleAssignments/any(a:a/id) Padrão
    assignedLicenses/any(a:a/skuId) Padrão
    assignedPlans/any(a:a/capabilityStatus) Avançado NotSupported
    assignedPlans/any(a:a/service) Avançado Avançado NotSupported
    assignedPlans/any(a:a/servicePlanId) Avançado
    authorizationInfo/certificateUserIds/any(p:p) Avançado
    businessPhones/any(p:p) Avançado Avançado
    city Padrão Padrão Avançado
    cloudRealtimeCommunicationInfo/isSipEnabled Padrão NotSupported
    CompanyName Avançado Avançado Avançado
    consentProvidedForMinor Padrão NotSupported
    country Padrão Padrão Avançado
    createdDateTime Padrão Padrão Avançado
    createdObjects/any(c:c/id) Avançado
    creationType Padrão NotSupported
    department Padrão Padrão Avançado
    displayName Padrão Padrão Avançado
    employeeHireDate Avançado Avançado NotSupported
    employeeId Padrão Avançado
    employeeOrgData/costCenter Avançado Avançado NotSupported
    employeeOrgData/division Avançado Avançado NotSupported
    employeeType Avançado NotSupported
    externalUserState Padrão NotSupported
    FaxNumber Avançado Avançado Avançado
    givenName Padrão Padrão Avançado
    identities/any(i:i/issuer) Padrão NotSupported Padrão
    imAddresses/any(p:p) Padrão Padrão
    infoCatalogs/any(p:p) Padrão Padrão
    isLicenseReconciliationNeeded Padrão NotSupported
    isResourceAccount Padrão NotSupported
    jobTitle Padrão Padrão Avançado
    licenseDetails/any(l:l/id) Padrão
    Email Padrão Padrão Avançado
    mailNickname Padrão Padrão Avançado
    manager/id Padrão
    mobilePhone Avançado Avançado Avançado
    oauth2PermissionGrants/any(o:o/id) Padrão
    officeLocation Avançado Avançado Avançado
    onPremisesDistinguishedName Avançado Avançado Avançado
    onPremisesExtensionAttributes/extensionAttribute1-15 Avançado Avançado Avançado
    onPremisesImmutableId Padrão
    onPremisesLastSyncDateTime Padrão Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Padrão NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Padrão NotSupported
    onPremisesSamAccountName Avançado Avançado NotSupported
    onPremisesSecurityIdentifier Padrão Avançado
    onPremisesSipInfo/isSipEnabled Avançado NotSupported
    onPremisesSyncEnabled Padrão Avançado
    otherMails/any(p:p) Padrão Padrão
    passwordPolicies NotSupported NotSupported Avançado
    passwordProfile/forceChangePasswordNextSignIn Avançado Avançado
    passwordProfile/forceChangePasswordNextSignInWithMfa Avançado Avançado
    postalCode Avançado Avançado Avançado
    preferredLanguage Avançado Avançado Avançado
    provisionedPlans/any(p:p/provisioningStatus) Avançado NotSupported
    provisionedPlans/any(p:p/service) Avançado Avançado NotSupported
    proxyAddresses/any(p:p) Padrão Padrão
    scopedRoleMemberOf/any(s:s/id) Padrão
    showInAddressList Avançado NotSupported
    state Padrão Avançado
    streetAddress Avançado Avançado Avançado
    surname Padrão Padrão Avançado
    usageLocation Padrão Padrão Avançado
    userPrincipalName Padrão Padrão NotSupported
    userType Padrão Avançado

    As propriedades a seguir da entidade de usuário dão suporte $count a uma coleção em uma expressão de filtro.

    Propriedade eq Count 0 eq Count 1
    assignedLicenses/$count Avançado NotSupported
    onPremisesProvisioningErrors/$count Avançado NotSupported
    otherMails/$count Avançado NotSupported
    ownedObjects/$count Avançado Avançado
    proxyAddresses/$count Avançado NotSupported

    A tabela a seguir mostra o suporte para $filter outras propriedades de extensão no objeto do usuário .

    Tipo de extensão eq startsWith eq null
    Extensões de esquema Avançado Avançado Avançado
    Extensões abertas NotSupported NotSupported NotSupported
    Extensões de diretório Padrão Avançado Avançado

    Suporte para classificação por propriedades de objetos Microsoft Entra ID (diretório)

    A tabela a seguir resume o suporte para $orderby por propriedades de objetos de diretório e indica onde a classificação é suportada por meio de recursos avançados de consulta.

    Legend

    • Funciona por padrão. Não requer parâmetros de consulta avançados. O $orderby operador funciona por padrão para essa propriedade.
    • Requer parâmetros de consulta avançados. O $orderby operador requer parâmetrosde consulta avançados, que são:
      • ConsistencyLevel=eventual cabeçalho
      • $count=true cadeia de caracteres
    • O uso de $filter e $orderby na mesma consulta para objetos de diretório sempre requer parâmetros de consulta avançados. Para obter mais informações, consulte Cenários de consulta que exigem recursos avançados de consulta.
    Objeto de diretório Nome da propriedade Dá suporte a $orderby
    administrativeUnit createdDateTime Avançado
    administrativeUnit deletedDateTime Avançado
    administrativeUnit displayName Avançado
    aplicação createdDateTime Avançado
    aplicação deletedDateTime Avançado
    aplicação displayName Avançado
    orgContact createdDateTime Avançado
    orgContact displayName Avançado
    device approximateLastSignInDateTime Avançado
    device createdDateTime Avançado
    device deletedDateTime Avançado
    device displayName Avançado
    group deletedDateTime Avançado
    group displayName Padrão
    servicePrincipal createdDateTime Avançado
    servicePrincipal deletedDateTime Avançado
    servicePrincipal displayName Avançado
    usuário createdDateTime Avançado
    usuário deletedDateTime Avançado
    usuário displayName Padrão
    usuário userPrincipalName Padrão

    Tratamento de erros para consultas avançadas sobre objetos de diretório

    A contagem de objetos de diretório só é suportada usando os parâmetros de consultas avançados. Se o ConsistencyLevel=eventual cabeçalho não for especificado, a solicitação retornará um erro quando o $count segmento de URL for usado ou ignorar silenciosamente o $count parâmetro de consulta (?$count=true) se ele for usado.

    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"
            }
        }
    }
    

    Para objetos de diretório, $search funciona apenas em consultas avançadas. Se o cabeçalho ConsistencyLevel não for especificado, a solicitação retornará um erro.

    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"
            }
        }
    }
    

    Se uma propriedade ou parâmetro de consulta na URL for suportado apenas em consultas avançadas, mas o cabeçalho ConsistencyLevel ou a cadeia de caracteres $count=true estiver faltando, a solicitação retorna um erro.

    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"
            }
        }
    }
    

    Se uma propriedade não tiver sido indexada para dar suporte a um parâmetro de consulta, mesmo que os parâmetros de consulta avançados sejam especificados, a solicitação retornará um erro.

    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"
            }
        }
    }
    

    No entanto, uma solicitação que inclui parâmetros de consulta pode falhar silenciosamente. Por exemplo, para parâmetros de consulta sem suporte e para combinações sem suporte de parâmetros de consulta. Nesses casos, examine os dados retornados pela solicitação para determinar se os parâmetros de consulta especificados tiveram o efeito desejado. Por exemplo, no exemplo a seguir, falta o parâmetro @odata.count mesmo que a consulta seja bem sucedida.

    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"
        }
      ]
    }