Compartilhar via


Capacidades de consulta avançadas em objetos do Microsoft Entra ID

À medida que o Microsoft Entra continua a oferecer mais capacidades e melhorias na estabilidade, disponibilidade e desempenho, o Microsoft Graph também continua a evoluir e a dimensionar para aceder aos dados de forma eficiente. Uma forma é através do suporte crescente do Microsoft Graph para capacidades de consulta avançadas em vários objetos do Microsoft Entra ID, também denominados objetos de diretório e respetivas 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. Esta indexação separada permite que o ID do Microsoft Entra aumente o suporte e melhore o desempenho dos pedidos de consulta. No entanto, estas capacidades avançadas de consulta não estão disponíveis por predefinição, mas o requerente também tem de definir o cabeçalho ConsistencyLevel para eventuale, exceto para $search, utilizar 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: Utilize o $filter parâmetro de consulta com o eq operador . Este pedido funciona por predefinição, ou seja, o pedido 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: Utilize o $filter parâmetro de consulta com o ne operador . Este pedido não é suportado por predefinição porque o ne operador só é suportado em consultas avançadas. Por conseguinte, tem de adicionar o cabeçalho ConsistencyLevel definido a eventuale utilizar a $count=true cadeia de consulta.

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

Objetos do Microsoft Entra ID (diretório) que suportam capacidades de consulta avançadas

Estas capacidades avançadas de consulta são suportadas apenas em objetos de diretório e respetivas relações, incluindo os seguintes objetos utilizados frequentemente:

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 requerem capacidades de consulta avançadas

    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 filtrar por propriedades de objetos do 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 suportadas por predefiniçã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 só é suportado com parâmetros de consulta avançados por correio, outras propriedadesMails, userPrincipalName e proxyAddresses .
    • A obtenção de coleções vazias (/$count eq 0, /$count ne 0) e coleções com menos de um objeto (/$count eq 1, /$count ne 1) só é suportada com parâmetros de consulta avançados.
    • Os not operadores de negação e ne são suportados apenas com parâmetros de consulta avançados.
      • Todas as propriedades que suportam o eq operador também suportam os ne operadores ou not .
      • Para consultas que utilizam o any operador lambda, usar o not operador. Veja Filtrar utilizando operadores lambda.

    As tabelas seguintes resumem o suporte para $filter operadores por propriedades de objetos de diretório e indicam onde a consulta é suportada através de capacidades de consulta avançadas.

    Legenda

    • Funciona por predefinição. Não requer parâmetros de consulta avançados. O $filter operador funciona por predefiniçã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 suportado. O $filter operador não é suportado nessa propriedade. Envie-nos comentários para solicitar que esta propriedade suporte $filter para seus cenários.
    • As 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 suportam $filter de todo.

    Propriedades da unidade administrativa

    Propriedade eq startsWith eq Nulo
    description Avançadas Avançadas Avançadas
    displayName Predefinição Predefinição Avançadas
    isMemberManagementRestricted Predefinição NotSupported
    membershipRule Predefinição Predefinição NotSupported
    membershipRuleProcessingState Predefinição NotSupported
    scopedRoleMembers/any(s:s/id) Predefinição

    Propriedades do aplicativo

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

    As seguintes propriedades da entidade da aplicação suportam $count uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    extensionProperties/$count Avançadas NotSupported
    federatedIdentityCredentials/$count Avançadas NotSupported

    Propriedades do contrato

    Propriedade eq startsWith
    customerId Predefinição
    defaultDomainName Predefinição Predefinição
    displayName Predefinição Predefinição

    Propriedades do dispositivo

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

    As seguintes propriedades da entidade do dispositivo suportam $count uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    physicalIds/$count Avançadas NotSupported
    systemLabels/$count Avançadas NotSupported

    Propriedades da função de diretório

    Propriedade eq startsWith eq Nulo
    description Avançadas Avançadas Avançadas
    displayName Predefinição Avançadas Avançadas
    roleTemplateId Predefinição NotSupported

    Propriedades do grupo

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

    As seguintes propriedades da entidade de grupo suportam $count uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    assignedLicenses/$count Avançadas NotSupported
    onPremisesProvisioningErrors/$count Avançadas NotSupported
    proxyAddresses/$count Avançadas NotSupported

    Propriedades de contato organizacional

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

    As seguintes propriedades da entidade orgContact suportam $count uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    onPremisesProvisioningErrors/$count Avançadas NotSupported
    proxyAddresses/$count Avançadas NotSupported

    Propriedades da entidade de serviço

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

    As seguintes propriedades da entidade servicePrincipal suportam $count uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    federatedIdentityCredentials/$count Avançadas NotSupported
    ownedObjects/$count Avançadas Avançadas

    Propriedades de usuário

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

    As seguintes propriedades do suporte $count da entidade de utilizador de uma coleção numa expressão de filtro.

    Propriedade Contagem de eq 0 eq Contagem 1
    assignedLicenses/$count Avançadas NotSupported
    onPremisesProvisioningErrors/$count Avançadas NotSupported
    otherMails/$count Avançadas NotSupported
    ownedObjects/$count Avançadas Avançadas
    proxyAddresses/$count Avançadas NotSupported

    A tabela seguinte mostra o suporte para $filter outras propriedades de extensão no objeto de utilizador .

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

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

    A tabela seguinte resume o suporte para $orderby por propriedades de objetos de diretório e indica onde a ordenação é suportada através de capacidades de consulta avançadas.

    Legenda

    • Funciona por predefinição. Não requer parâmetros de consulta avançados. O $orderby operador funciona por predefiniçã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
    • A utilização de $filter e $orderby na mesma consulta para objetos de diretório requer sempre parâmetros de consulta avançados. Para obter mais informações, veja Cenários de consulta que requerem capacidades de consulta avançadas.
    Objeto de diretório Nome da propriedade $orderby
    administrativeUnit createdDateTime Avançadas
    administrativeUnit deletedDateTime Avançadas
    administrativeUnit displayName Avançadas
    aplicação createdDateTime Avançadas
    aplicação deletedDateTime Avançadas
    aplicação displayName Avançadas
    orgContact createdDateTime Avançadas
    orgContact displayName Avançadas
    device approximateLastSignInDateTime Avançadas
    device createdDateTime Avançadas
    device deletedDateTime Avançadas
    device displayName Avançadas
    group deletedDateTime Avançadas
    group displayName Predefinição
    servicePrincipal createdDateTime Avançadas
    servicePrincipal deletedDateTime Avançadas
    servicePrincipal displayName Avançadas
    usuário createdDateTime Avançadas
    usuário deletedDateTime Avançadas
    usuário displayName Predefinição
    usuário userPrincipalName Predefinição
    [todos os outros] [todos os outros] Não Suportado

    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, o pedido devolve um erro quando o $count segmento de URL é utilizado ou ignora silenciosamente o $count parâmetro de consulta (?$count=true) se for utilizado.

    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, o pedido devolve 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 suportar um parâmetro de consulta, mesmo que os parâmetros de consulta avançados sejam especificados, o pedido devolve 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, um pedido que inclua parâmetros de consulta pode falhar automaticamente. Por exemplo, para parâmetros de consulta não suportados e para combinações não suportadas de parâmetros de consulta. Nestes casos, examine os dados devolvidos pelo pedido 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"
        }
      ]
    }