Capacidades avançadas de consulta em objetos Microsoft Entra ID

O Microsoft Graph suporta capacidades de consulta avançadas em vários objetos de Microsoft Entra ID, também denominados objetos de diretório, para o ajudar a aceder a dados de forma eficiente. 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 para capacidades de consulta adicionais em algumas propriedades, essas propriedades podem ser indexadas num arquivo separado. Esta indexação separada melhora o desempenho das consultas. No entanto, estas capacidades avançadas de consulta não estão disponíveis por predefinição, mas o requerente 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 e 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

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

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

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 de 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:

    • 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 e apenas pelas propriedades mail, otherMails, 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

    • O filtro funciona por predefinição. Não requer parâmetros de consulta avançados, mas ainda funciona com parâmetros de consulta avançados. O $filter operador funciona por predefinição para essa propriedade.
    • O filtro só funciona sem parâmetros de consulta avançados. O $filter operador só funciona sem parâmetros de consulta avançados.
    • O filtro 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+
    membershipRule Predefinição+ Predefinição+
    membershipRuleProcessingState Predefinição+

    Propriedades do aplicativo

    Propriedade eq startsWith ge/le eq Nulo
    appId Predefinição+
    createdDateTime Predefinição+ Avançadas
    description Avançadas Avançadas Avançadas
    disabledByMicrosoftStatus Predefinição+
    displayName Predefinição+ Predefinição+ Avançadas
    federatedIdentityCredentials/any(f:f/issuer) Avançadas Avançadas
    federatedIdentityCredentials/any(f:f/name) Avançadas Avançadas
    federatedIdentityCredentials/any(f:f/subject) Avançadas Avançadas
    identifierUris/any(p:p) Predefinição+ Predefinição+
    info/logoUrl Avançadas
    info/termsOfServiceUrl Avançadas Avançadas
    notes Avançadas Avançadas Avançadas
    publicClient/redirectUris/any(p:p) Avançadas Avançadas
    publisherDomain Predefinição+ Predefinição+
    requiredResourceAccess/any(r:r/resourceAppId) Avançadas
    referênciaDeGerenciamentoDeServiços Avançadas Avançadas Avançadas
    signInAudience Predefinição+
    spa/redirectUris/any(p:p) Avançadas Avançadas
    tags/any(p:p) Predefinição+ Predefinição+
    Nome único Predefinição+ Predefinição+
    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+
    alternativeSecurityIds/any(a:a/identityProvider) Avançadas Avançadas
    alternativeSecurityIds/any(a:a/type) Predefinição+
    approximateLastSignInDateTime 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+
    isManaged Predefinição+
    isRooted Avançadas Avançadas
    managementType Avançadas Avançadas
    fabricante Avançadas Avançadas Avançadas
    mdmAppId Predefinição+ Avançadas
    modelo Avançadas Avançadas Avançadas
    onPremisesLastSyncDateTime Predefinição+
    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+
    registrationDateTime Avançadas Avançadas
    trustType Predefinição+

    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
    assignedLicenses/any(a:a/skuId) Predefinição+
    classificação Predefinição+ Predefinição+
    createdByAppId Predefinição+
    createdDateTime Avançadas Avançadas
    description Avançadas Avançadas Avançadas
    displayName Predefinição+ Predefinição+ Avançadas
    expirationDateTime Avançadas
    groupTypes/any(p:p) Predefinição+
    hasMembersWithLicenseErrors PredefiniçãoOnlyOnly PredefiniçãoOnlyOnly
    infoCatalogs/any(p:p) Predefinição+ Predefinição+
    isAssignableToRole Predefinição+
    Email Predefinição+ Predefinição+ Avançadas
    mailEnabled Predefinição+
    mailNickname Predefinição+ Predefinição+ Avançadas
    membershipRule Predefinição+ Predefinição+
    membershipRuleProcessingState Predefinição+
    onPremisesLastSyncDateTime Predefinição+
    onPremisesProvisioningErrors/any(o:o/category) Predefinição+
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Predefinição+
    onPremisesSamAccountName Avançadas Avançadas
    onPremisesSecurityIdentifier Predefinição+ Avançadas
    onPremisesSyncEnabled Predefinição+ Avançadas
    preferredLanguage Avançadas Avançadas
    proxyAddresses/any(p:p) Predefinição+ Predefinição+
    renewedDateTime Predefinição+
    resourceBehaviorOptions/any(p:p) Predefinição+
    resourceProvisioningOptions/any(p:p) Predefinição+
    securityEnabled Predefinição+
    Nome único Predefinição+ Predefinição+

    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+
    onPremisesProvisioningErrors/any(o:o/category) Predefinição+
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Predefinição+
    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+
    alternativeNames/any(p:p) Predefinição+ Predefinição+
    appId Predefinição+
    appOwnerOrganizationId Avançadas
    appRoleAssignmentRequired Avançadas
    applicationTemplateId Predefinição+
    claimsPolicy/id Predefinição+
    createdObjects/any(c:c/id) Avançadas
    description Avançadas Avançadas Avançadas
    displayName Predefinição+ Predefinição+ Avançadas
    federatedIdentityCredentials/any(f:f/issuer) Avançadas Avançadas
    federatedIdentityCredentials/any(f:f/name) Avançadas Avançadas
    federatedIdentityCredentials/any(f:f/subject) Avançadas Avançadas
    homepage Avançadas Avançadas Avançadas
    info/logoUrl Avançadas
    info/termsOfServiceUrl Avançadas Avançadas
    notes Avançadas Avançadas Avançadas
    preferredSingleSignOnMode Predefinição+
    preferredTokenSigningKeyEndDateTime Predefinição+
    publisherName Predefinição+ Predefinição+
    remoteDesktopSecurityConfiguration/id Predefinição+
    servicePrincipalNames/any(p:p) Predefinição+ Predefinição+
    servicePrincipalType Predefinição+
    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

    Propriedades de usuário

    Propriedade eq startsWith ge/le eq Nulo
    accountEnabled Predefinição+
    ageGroup Predefinição+
    assignedLicenses/any(a:a/skuId) Predefinição+
    assignedPlans/any(a:a/capabilityStatus) Avançadas
    assignedPlans/any(a:a/service) Avançadas Avançadas
    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+
    CompanyName Avançadas Avançadas Avançadas
    consentProvidedForMinor Predefinição+
    country Predefinição+ Predefinição+ Avançadas
    createdDateTime Predefinição+ Avançadas
    createdObjects/any(c:c/id) Avançadas
    creationType Predefinição+
    department Predefinição+ Predefinição+ Avançadas
    displayName Predefinição+ Predefinição+ Avançadas
    employeeHireDate Avançadas
    employeeId Predefinição+ Avançadas
    employeeOrgData/costCenter Avançadas Avançadas
    employeeOrgData/division Avançadas Avançadas
    employeeType Avançadas
    externalUserState Predefinição+
    FaxNumber Avançadas Avançadas Avançadas
    givenName Predefinição+ Predefinição+ Avançadas
    identities/any(i:i/issuer) PredefiniçãoOnlyOnly PredefiniçãoOnlyOnly
    imAddresses/any(p:p) Predefinição+ Predefinição+
    infoCatalogs/any(p:p) Predefinição+ Predefinição+
    isLicenseReconciliationNeeded PredefiniçãoOnlyOnly
    isResourceAccount Predefinição+
    jobTitle Predefinição+ Predefinição+ Avançadas
    Email Predefinição+ Predefinição+ Avançadas
    mailNickname Predefinição+ Predefinição+ Avançadas
    mobilePhone Avançadas Avançadas Avançadas
    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+
    onPremisesProvisioningErrors/any(o:o/category) Predefinição+
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Predefinição+
    onPremisesSamAccountName Avançadas Avançadas
    onPremisesSecurityIdentifier Predefinição+ Avançadas
    onPremisesSipInfo/isSipEnabled Avançadas
    onPremisesSyncEnabled Predefinição+ Avançadas
    otherMails/any(p:p) Predefinição+ Predefinição+
    passwordPolicies 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
    provisionedPlans/any(p:p/provisioningStatus) Avançadas
    provisionedPlans/any(p:p/service) Avançadas Avançadas
    proxyAddresses/any(p:p) Predefinição+ Predefinição+
    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+
    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 de 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

    • A ordenação funciona por predefinição. Não requer parâmetros de consulta avançados. O $orderby operador funciona por predefinição para essa propriedade.
    • A ordenação 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 createdDateTime 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] NotSupported

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

    A secção seguinte fornece exemplos de cenários de erro comuns quando não utiliza parâmetros de consulta avançados, sempre que necessá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 (/$count) é 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 estiver indexada para suportar um parâmetro de consulta, o pedido devolve um erro mesmo que sejam especificados parâmetros de consulta avançados. Por exemplo, a propriedade createdDateTime do recurso de grupo não está indexada para capacidades de consulta.

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