Obter um usuário

Namespace: microsoft.graph

Recuperar as propriedades e os relacionamentos do objeto user.

Observação: a obtenção de um usuário retorna somente um conjunto padrão de propriedades (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName). Use $select para obter outras propriedades e relacionamentos para o objeto user.

Essa solicitação pode ter atrasos de replicação para usuários que foram criados, atualizados ou excluídos recentemente.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) User.Read, User.ReadWrite
Aplicativo User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All

Dica

  1. Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões do aplicativo ao usar o ponto de extremidade /me.
  2. A permissão User.Read permite que o aplicativo leia o perfil e descubra relacionamentos como associação ao grupo, relatórios e gerente apenas do usuário conectado.

Solicitação HTTP

Para um usuário específico:

GET /me
GET /users/{id | userPrincipalName}

Dica

  • Quando userPrincipalName começa com um caractere $, a sintaxe de URL de solicitação GET /users/$x@y.com falha com um código de erro 400 Bad Request. Isso porque essa URL de solicitação viola a convenção de URL OData que espera que apenas as opções de consulta do sistema sejam prefixadas com um caractere $. Remova a barra (/) depois /users e coloque o userPrincipalName entre parênteses e aspas simples, como segue: /users('$x@y.com'). Por exemplo, /users('$AdeleVance@contoso.com').
  • Para consultar um usuário B2B usando o usuárioPrincipalName, codifique o caractere hash (#). Ou seja, substituir o símbolo # por %23. Por exemplo, /users/AdeleVance_adatum.com%23EXT%23@contoso.com.

Para o usuário conectado:

GET /me

Parâmetros de consulta opcionais

Este método suporta o $select parâmetro de consulta OData para recuperar propriedades específicas do usuário, incluindo aquelas que não são retornadas por padrão.

Por padrão, somente um conjunto limitado de propriedades é retornado (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName).

Para retornar um conjunto de propriedades alternativo, você deve especificar o conjunto desejado das propriedades user usando o parâmetro de consulta OData $select. Por exemplo, para retornar displayName, givenName e postalCode, você incluiria o seguinte na sua consulta $select=displayName,givenName,postalCode.

Recuperar extensões e dados associados

Tipo de extensão Comentários
onPremisesExtensionAttributes 1-15 Retornado somente com $select.
Extensões de esquema Retornado somente com $select.
Extensões abertas Retornado somente por meio da operação Obter extensão aberta.
Extensões de diretório Retornado somente com $select.

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório.
Content-Type application/json

Corpo da solicitação

Não forneça um corpo de solicitação para esse método.

Resposta

Se bem-sucedido, este método retorna o código de resposta 200 OK e o objeto user no corpo da resposta. Retorna as propriedades padrão, a menos que você use $select para especificar propriedades específicas.

Esse método retorna 202 Accepted quando a solicitação tenha sido processada com sucesso, mas o servidor requer mais tempo para concluir as operações de segundo plano relacionadas.

Exemplos

Exemplo 1: Solicitação de usuários padrão

Solicitação

Por padrão, apenas um conjunto limitado de propriedades é retornado ( businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName ). Este exemplo ilustra a solicitação e a resposta padrão.

GET https://graph.microsoft.com/v1.0/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd

Resposta

HTTP/1.1 200 OK
Content-type: application/json

{
  "businessPhones": [
       "+1 425 555 0109"
   ],
   "displayName": "Adele Vance",
   "givenName": "Adele",
   "jobTitle": "Retail Manager",
   "mail": "AdeleV@contoso.onmicrosoft.com",
   "mobilePhone": "+1 425 555 0109",
   "officeLocation": "18/2111",
   "preferredLanguage": "en-US",
   "surname": "Vance",
   "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
   "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}

Exemplo 2: solicitação de usuário conectado

Você pode obter as informações do usuário para o usuário conectado, substituindo /users/{id | userPrincipalName} por /me.

Solicitação

GET https://graph.microsoft.com/v1.0/me

Resposta

HTTP/1.1 200 OK
Content-type: application/json

{
  "businessPhones": [
       "+1 425 555 0109"
   ],
   "displayName": "Adele Vance",
   "givenName": "Adele",
   "jobTitle": "Retail Manager",
   "mail": "AdeleV@contoso.onmicrosoft.com",
   "mobilePhone": "+1 425 555 0109",
   "officeLocation": "18/2111",
   "preferredLanguage": "en-US",
   "surname": "Vance",
   "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
   "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}

Exemplo 3: use $select para recuperar propriedades específicas de um usuário

Para recuperar propriedades específicas, use o parâmetro de $select OData. Por exemplo, para retornar displayName, givenName, postalCode e identities, você usaria adicionar o seguinte à sua consulta $select=displayName,givenName,postalCode,identities

Solicitação

GET https://graph.microsoft.com/v1.0/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$select=displayName,givenName,postalCode,identities

Resposta

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,givenName,postalCode,identities)/$entity",
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "postalCode": "98004",
    "identities": [
        {
            "signInType": "userPrincipalName",
            "issuer": "contoso.com",
            "issuerAssignedId": "AdeleV@contoso.com"
        }
    ]
}

Exemplo 4: obter o valor de uma extensão de esquema para um usuário

Neste exemplo, o ID da extensão do esquema é ext55gb1l09_msLearnCourses.

Solicitação

GET https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e?$select=ext55gb1l09_msLearnCourses

Resposta

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(ext55gb1l09_msLearnCourses)/$entity",
    "ext55gb1l09_msLearnCourses": {
        "@odata.type": "#microsoft.graph.ComplexExtensionValue",
        "courseType": "Developer",
        "courseName": "Introduction to Microsoft Graph",
        "courseId": 1
    }
}