Recursos avançados de consulta nos objetos do diretório Microsoft Azure Active Directory

Como o Microsoft Azure Active Directory continua a oferecer mais capacidades e melhorias na estabilidade, disponibilidade e desempenho, o Microsoft Graph também continua a evoluir e a escalar para acessar os dados de forma eficiente. Uma maneira é através do suporte crescente do Microsoft Graph para capacidades avançadas de consulta em vários objetos Microsoft Azure Active Directory 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 o Microsoft Azure AD aumente o suporte e melhore o desempenho das solicitações de consulta. No entanto, essas funcionalidades de consulta avançada não estão disponíveis por padrão, mas o solicitante também deve definir o cabeçalho ConsistencyLevel para eventual e, com exceção de $search, use o parâmetro de consulta $count. 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 parâmetro de consulta $filter com o operador eq. Esta solicitação funcionará 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 parâmetro de consulta $filter com o operador ne. Esta solicitação não é suportada por padrão porque o ne operador só é suportado em consultas avançadas. Portanto, você deve adicionar o ConsistencyLevel cabeçalho para eventuale usar a $count=true cadeia de caracteres.

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

Estas funcionalidades avançados de consulta são compatíveis somente com objetos de diretório do Microsoft Azure AD 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
  • 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 GET ../groups/$count
    Usar o $count como parâmetro consultar cadeia de caracteres GET ../servicePrincipals?$count=true
    Uso de $count em uma expressão $filter GET ../users?$filter=assignedLicenses/$count eq 0&$count=true
    Usar de $search GET ../applications?$search="displayName:Browser"
    Usar $orderby em propriedades selecionadas GET ../applications?$orderby=displayName&$count=true
    Usar o $filter com o endsWith operador GET ../users?$count=true&$filter=endsWith(mail,'@outlook.com')
    Usar o $filter e $orderby na mesma consulta GET ../applications?$orderby=displayName&$filter=startsWith(displayName, 'Box')&$count=true
    Uso o $filter com os startsWith operadores em propriedades específicas. GET ../users?$filter=startsWith(mobilePhone, '25478') OR startsWith(mobilePhone, '25473')&$count=true
    Usar o $filter com ne e not operadores
    GET ../users?$filter=companyName ne null and NOT(companyName eq 'Microsoft')&$count=true
    Usar o $filter com not e startsWith operadores
    GET ../users?$filter=NOT startsWith(displayName, 'Conf')&$count=true
    Uso de $filter em uma coleção com o operador endsWith [GET](https://developer.microsoft.com/en-us/graph/graph-explorer?request=users%3F%24count%3Dtrue%26%24filter%3DproxyAddresses%2Fany(p%3AendsWith(p%2C%2B'OnMicrosoft.com'))%26select%3Did%2CdisplayName%2Cproxyaddresses&method=GET&version=beta& GraphUrl=https://graph.microsoft.com&headers=W3sibmFtZSI6IkNvbnNpc3RlbmN5TGV2ZWwiLCJ2YWx1ZSI6ImV2ZW50dWFsIn1d) ../users?$count=true&$filter=proxyAddresses/any(p:endsWith(p,+'OnMicrosoft.com'))&select=id,displayName,proxyaddresses
    Uso de conversão de OData com lista de membros transitivos GET ../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 nas propriedades dos objetos do diretório Microsoft Azure Active Directory

    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 que são suportadas por padrão também funcionarão em consultas avançadas, mas a resposta será eventualmente consistente.
    • O operador in é suportado por padrão sempre que o operador eq for suportado por padrão.
    • O operador endsWith é suportado apenas em consultas avançadas nas propriedades email, otherMails, userPrincipalName, e propriedades proxyAddresses.
    • Os operadores de negação not e ne são suportados apenas em consultas avançadas.
      • Todas as propriedades que suportam o eq operador também suportam os ne ou not operadores.
      • 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 suportados pelas funcionalidades de consulta avançada.

    Legenda

    • Funciona por padrão. Não requer parâmetros de consulta avançados. O operador $filter funciona por padrão para essa propriedade.
    • Requer parâmetros de consulta avançados. O $filter operador exige parâmetros de consulta avançados, que são:
      • ConsistencyLevel=eventual cabeçalho
      • $count=true cadeia de caracteres
    • Não suportado. O operador $filter 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 aquela 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 forma alguma.

    Propriedades da unidade administrativa

    Nome da propriedade eq startsWith ge le Valor nulo
    descrição Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Sem suporte
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    isMemberManagementRestricted Suportado por padrão Sem suporte

    Propriedades do aplicativo

    Nome da propriedade eq startsWith ge le Valor nulo
    appId Suportado por padrão Incompatível
    createdDateTime Suportado por padrão Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    createdOnBehalfOf/deletedDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    createdOnBehalfOf/id Suportado por padrão Sem suporte
    descrição Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    disabledByMicrosoftStatus Suportado por padrão Incompatível
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    identifierUris/any(p:p) Suportado por padrão Suportado por padrão
    info/logoUrl Incompatível Incompatível Requer parâmetros de consulta avançados
    info/termsOfServiceUrl Requer parâmetros de consulta avançados Incompatível Sem suporte
    publicClient/redirectUris/any(p:p) Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    publisherDomain Suportado por padrão Suportado por padrão Incompatível
    requiredResourceAccess/any(r:r/resourceAppId) Requer parâmetros de consulta avançados Incompatível
    referênciaDeGerenciamentoDeServiços Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    signInAudience Suportado por padrão Incompatível
    spa/redirectUris/any(p:p) Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    tags/any(p:p) Suportado por padrão Suportado por padrão
    Nome único Suportado por padrão Suportado por padrão Incompatível
    verifiedPublisher/displayName Requer parâmetros de consulta avançados Incompatível Requer parâmetros de consulta avançados
    web/homePageUrl Requer parâmetros de consulta avançados Incompatível Requer parâmetros de consulta avançados
    web/redirectUris/any(p:p) Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados

    Propriedades do dispositivo

    Nome da propriedade eq startsWith ge le Valor nulo
    accountEnabled Suportado por padrão Sem suporte
    alternativeSecurityIds/any(a:a/identityProvider) Requer parâmetros de consulta avançados Incompatível Sem suporte
    alternativeSecurityIds/any(a:a/type) Suportado por padrão Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Sem suporte
    approximateLastSignInDateTime Suportado por padrão Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    deviceId Suportado por padrão Incompatível
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    extensionAttributes1-15 Requer parâmetros de consulta avançados Incompatível Requer parâmetros de consulta avançados
    hostnames/any(p:p) Suportado por padrão Suportado por padrão
    isCompliant Suportado por padrão Sem suporte
    isManaged Suportado por padrão Incompatível
    mdmAppId Suportado por padrão Requer parâmetros de consulta avançados
    onPremisesLastSyncDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    onPremisesSyncEnabled Suportado por padrão Requer parâmetros de consulta avançados
    operatingSystem Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    operatingSystemVersion Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    physicalIds/any(p:p) Suportado por padrão
    registrationDateTime Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível

    Propriedades do grupo

    Nome da propriedade eq startsWith ge le Valor nulo
    assignedLicenses/any(a:a/skuId) Suportado por padrão Incompatível
    classificação Suportado por padrão Suportado por padrão Incompatível
    createdByAppId Suportado por padrão Incompatível
    createdOnBehalfOf/deletedDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    createdOnBehalfOf/id Suportado por padrão Incompatível
    descrição Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    expirationDateTime Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    hasMembersWithLicenseErrors Suportado por padrão Suportado por padrão
    infoCatalogs/any(p:p) Suportado por padrão Suportado por padrão
    isAssignableToRole Suportado por padrão Incompatível
    email Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    mailEnabled Suportado por padrão Incompatível
    mailNickname Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    membershipRule Suportado por padrão Suportado por padrão Incompatível
    onPremisesLastSyncDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/category) Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Suportado por padrão Incompatível
    onPremisesSamAccountName Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    onPremisesSecurityIdentifier Suportado por padrão Requer parâmetros de consulta avançados
    onPremisesSyncEnabled Suportado por padrão Requer parâmetros de consulta avançados
    preferredLanguage Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    proxyAddresses/any(p:p) Suportado por padrão Suportado por padrão
    renewedDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    resourceBehaviorOptions/any(p:p) Suportado por padrão Suportado por padrão
    resourceProvisioningOptions/any(p:p) Suportado por padrão Suportado por padrão
    securityEnabled Suportado por padrão Incompatível

    Propriedades de contatos organizacionais

    Nome da propriedade eq startsWith ge le Valor nulo
    CompanyName Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    department Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    givenName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    jobTitle Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    email Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    mailNickname Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    manager/id Suportado por padrão Incompatível
    onPremisesLastSyncDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/category) Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Suportado por padrão Incompatível
    onPremisesSyncEnabled Suportado por padrão Requer parâmetros de consulta avançados
    proxyAddresses/any(p:p) Suportado por padrão Suportado por padrão
    surname Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados

    Propriedades da entidade de serviço

    Nome da propriedade eq startsWith ge le Valor nulo
    accountEnabled Suportado por padrão Incompatível
    alternativeNames/any(p:p) Suportado por padrão Suportado por padrão
    appId Suportado por padrão Incompatível
    appOwnerOrganizationId Requer parâmetros de consulta avançados Incompatível
    appRoleAssignmentRequired Requer parâmetros de consulta avançados Incompatível
    applicationTemplateId Suportado por padrão Incompatível
    createdObjects/any(c:c/id) Requer parâmetros de consulta avançados Incompatível
    descrição Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    homepage Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    info/logoUrl Incompatível Incompatível Requer parâmetros de consulta avançados
    info/termsOfServiceUrl Requer parâmetros de consulta avançados Incompatível Incompatível
    preferredTokenSigningKeyEndDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    publisherName Suportado por padrão Suportado por padrão Sem suporte
    servicePrincipalNames/any(p:p) Suportado por padrão Suportado por padrão
    tags/any(p:p) Suportado por padrão Suportado por padrão

    Propriedades de usuário

    Nome da propriedade eq startsWith ge le Valor nulo
    accountEnabled Suportado por padrão Incompatível
    ageGroup Suportado por padrão Incompatível
    assignedLicenses/any(a:a/skuId) Suportado por padrão Sem suporte
    assignedPlans/any(a:a/capabilityStatus) Requer parâmetros de consulta avançados Incompatível
    assignedPlans/any(a:a/service) Requer parâmetros de consulta avançados Incompatível Incompatível
    assignedPlans/any(a:a/servicePlanId) Requer parâmetros de consulta avançados Incompatível
    businessPhones/any(p:p) Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    cidade Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    CompanyName Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    consentProvidedForMinor Suportado por padrão Sem suporte
    country Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    createdDateTime Suportado por padrão Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    createdObjects/any(c:c/id) Requer parâmetros de consulta avançados Incompatível
    creationType Suportado por padrão Incompatível
    departamento Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    displayName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    employeeHireDate Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    employeeId Suportado por padrão Requer parâmetros de consulta avançados
    employeeOrgData/costCenter Requer parâmetros de consulta avançados Incompatível Incompatível
    employeeOrgData/division Requer parâmetros de consulta avançados Incompatível Incompatível
    employeeType Requer parâmetros de consulta avançados Incompatível
    externalUserState Suportado por padrão Incompatível
    faxNumber Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    givenName Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    identities/any(i:i/issuer) Suportado por padrão Sem suporte Suportado por padrão
    imAddresses/any(p:p) Suportado por padrão Suportado por padrão
    infoCatalogs/any(p:p) Suportado por padrão Suportado por padrão
    isResourceAccount Suportado por padrão Incompatível
    jobTitle Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    email Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    mailNickname Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    manager/deletedDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    manager/id Suportado por padrão Incompatível
    mobilePhone Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    officeLocation Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    onPremisesExtensionAttributes/extensionAttribute1-15 Requer parâmetros de consulta avançados Incompatível Requer parâmetros de consulta avançados
    onPremisesImmutableId Suportado por padrão Incompatível
    onPremisesLastSyncDateTime Suportado por padrão Suportado por padrão Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/category) Suportado por padrão Incompatível
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Suportado por padrão Incompatível
    onPremisesSamAccountName Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Incompatível
    onPremisesSecurityIdentifier Suportado por padrão Requer parâmetros de consulta avançados
    onPremisesSyncEnabled Suportado por padrão Requer parâmetros de consulta avançados
    onPremisesUserPrincipalName Suportado por padrão Suportado por padrão Incompatível
    otherMails/any(p:p) Suportado por padrão Suportado por padrão
    passwordPolicies Incompatível Incompatível Requer parâmetros de consulta avançados
    passwordProfile/forceChangePasswordNextSignIn Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    passwordProfile/forceChangePasswordNextSignInWithMfa Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    postalCode Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    preferredLanguage Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    provisionedPlans/any(p:p/provisioningStatus) Requer parâmetros de consulta avançados Sem suporte
    provisionedPlans/any(p:p/service) Requer parâmetros de consulta avançados Incompatível Sem suporte
    proxyAddresses/any(p:p) Suportado por padrão Suportado por padrão
    showInAddressList Requer parâmetros de consulta avançados Sem suporte
    state Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    streetAddress Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados Requer parâmetros de consulta avançados
    sobrenome Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    usageLocation Suportado por padrão Suportado por padrão Requer parâmetros de consulta avançados
    userPrincipalName Suportado por padrão Suportado por padrão Incompatível
    userType Suportado por padrão Requer parâmetros de consulta avançados

    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çadas. 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 for usado.

    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 retorna um erro.

    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.

    https://graph.microsoft.com/v1.0/users?$filter=endsWith(mail,'@outlook.com')
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Unsupported Query.",
            "innerError": {
                "date": "2021-05-18T19:12:36",
                "request-id": "63f2093c-399c-4350-9609-3ce9b62abe3c",
                "client-request-id": "e60ed0ba-df5d-e190-f056-f9c0318456d7"
            }
        }
    }
    

    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, a solicitação retorna um erro.

    https://graph.microsoft.com/beta/groups?$filter=createdDateTime ge 2021-11-01&$count=true
    ConsistencyLevel: eventual
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "The request uses a filter property that is not indexed",
            "innerError": {
                "date": "2021-06-10T19:32:01",
                "request-id": "5625ba13-0c9f-4fce-a853-4b52f3e0bd09",
                "client-request-id": "76fe4cd8-df3a-f8c3-659b-594274b6bb31"
            }
        }
    }
    

    No entanto, é importante observar que os parâmetros de consulta especificados em uma solicitação podem falhar silenciosamente. Isso pode ser verdadeiro para parâmetros de consulta sem suporte, bem como para combinações de parâmetros de consulta sem suporte. Nesses casos, você deve examinar os dados retornados pela solicitação para determinar se os parâmetros de consulta que especificou tiveram o efeito desejado. Por exemplo, no exemplo a seguir, falta o parâmetro @odata.count mesmo que a consulta seja bem sucedida.

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

    Confira também