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
$selectpara 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
- Chamar o ponto de extremidade
/meexige 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. - A permissão
User.Readpermite 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.comfalha com um código de erro400 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/userse 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
}
}
Comentários
Enviar e exibir comentários de