Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Recupere as propriedades e as relações de um objeto de usuário . Se o ID especificado for o de um agentUser, a API retornará as propriedades do objeto agentUser .
Essa operação retorna, por padrão, apenas um subconjunto das propriedades mais comumente usadas. Essas propriedades padrão estão listadas na seção Propriedades. Para obter propriedades não retornadas por padrão, execute uma operação GET e especifique as propriedades em uma opção de consulta $select do OData. Como o recurso usuário dá suporte a extensões, você também pode usar a operação GET para obter propriedades personalizadas e dados de extensão em uma instância de usuário.
Os clientes por meio do Microsoft Entra ID para clientes também podem usar essa operação de API para recuperar seus detalhes.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| 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 |
Observação
A User.Read permissão permite que o aplicativo leia o perfil e descubra relacionamentos como a associação a um grupo, relatórios e gerente apenas do usuário conectado.
Permissões para cenários específicos
- Para ler a propriedade employeeLeaveDateTime :
- Em cenários delegados, o usuário conectado precisa de pelo menos uma das seguintes funções do Microsoft Entra: Administrador de Fluxos de Trabalho do Ciclo de Vida (privilégio mínimo), Leitor Global; o aplicativo deve receber a permissão delegada User-LifeCycleInfo.Read.All.
- Em cenários somente de aplicativo com permissões do Microsoft Graph, o aplicativo deve receber a permissão User-LifeCycleInfo.Read.All .
- Para ler a propriedade customSecurityAttributes :
- Em cenários delegados, o usuário conectado deve receber a função de Administrador de Atribuição de Atributo e o aplicativo deve receber a permissão CustomSecAttributeAssignment.Read.All .
- Em cenários somente de aplicativo com permissões do Microsoft Graph, o aplicativo deve receber a permissão CustomSecAttributeAssignment.Read.All .
- User-Mail.ReadWrite.All é a permissão menos privilegiada para ler e gravar a propriedade otherMails ; também permite ler algumas propriedades relacionadas ao identificador no objeto de usuário.
- User-PasswordProfile.ReadWrite.All é a permissão menos privilegiada para ler e gravar propriedades relacionadas à redefinição de senha; também permite ler algumas propriedades relacionadas ao identificador no objeto de usuário.
- User-Phone.ReadWrite.All é a permissão menos privilegiada para ler e gravar as propriedades businessPhones e mobilePhone ; também permite ler algumas propriedades relacionadas ao identificador no objeto de usuário.
- User.EnableDisableAccount.All + User.Read.All é a combinação menos privilegiada de permissões para ler e gravar a propriedade accountEnabled .
Solicitação HTTP
Para o usuário conectado:
GET /me
Observação
Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.
Para um usuário ou agentUser especificado:
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. A solicitação falha porque a URL 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.
Parâmetros de consulta opcionais
Esse método dá suporte ao $selectparâmetro de consulta OData para recuperar propriedades específicas, incluindo aquelas não retornadas por padrão. As propriedades de extensão também dão suporte a parâmetros de consulta da seguinte maneira:
| 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. Saiba mais sobre autenticação e autorização. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se for bem-sucedido, esse método retornará um código de resposta e um 200 OK objeto user ou agentUser 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.
Se um objeto com a ID não existir, esse método retornará um código de 404 Not Found erro.
Exemplo
Exemplo 1: Obter as propriedades do usuário conectado ou do agentUser autenticado
Solicitação
GET https://graph.microsoft.com/beta/me
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"displayName": "Adele Vance",
"givenName": "Adele",
"jobTitle": "Retail Manager",
"mail": "AdeleV@contoso.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "AdeleV@contoso.com",
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}
Exemplo 2: Obter as propriedades do usuário especificado
Solicitação
O exemplo a seguir mostra uma solicitação. Se o ID especificado for o de um agentUser, a API retornará as propriedades do objeto agentUser .
GET https://graph.microsoft.com/beta/users/{id}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"displayName": "Adele Vance",
"givenName": "Adele",
"jobTitle": "Retail Manager",
"mail": "AdeleV@contoso.com",
"mobilePhone": "+1 425 555 0109",
"officeLocation": "18/2111",
"preferredLanguage": "en-US",
"surname": "Vance",
"userPrincipalName": "AdeleV@contoso.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 identidades, adicione a seguinte expressão de consulta à sua consulta $select=displayName,givenName,postalCode,identities
Solicitação
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}?$select=displayName,givenName,postalCode,identities
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$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 as atribuições de atributo de segurança personalizadas para um usuário
O exemplo a seguir mostra como obter as atribuições de atributo de segurança personalizadas para um usuário.
Atributo nº 1
- Conjunto de atributos:
Engineering - Atributo:
Project - Tipo de dados de atributo: Coleção de cadeias de caracteres
- Valor do atributo:
["Baker","Cascade"]
Atributo nº 2
- Conjunto de atributos:
Engineering - Atributo:
CostCenter - Tipo de dados de atributo: Coleção de inteiros
- Valor do atributo:
[1001]
Atributo nº 3
- Conjunto de atributos:
Engineering - Atributo:
Certification - Tipo de dados de atributo: Booliano
- Valor do atributo:
true
Atributo nº 4
- Conjunto de atributos:
Marketing - Atributo:
EmployeeId - Tipo de dados de atributo: cadeia de caracteres
- Valor do atributo:
"QN26904"
Para obter atribuições do atributo de segurança personalizadas, a entidade de chamada deve receber a função Leitor de Atribuição de Atributo ou Administrador de Atribuição de Atributo e deve receber a permissão CustomSecAttributeAssignment.Read.All ou CustomSecAttributeAssignment.ReadWrite.All.
Para obter mais exemplos de atribuições de atributos de segurança personalizados, consulte Exemplos: atribuir, atualizar, listar ou remover atribuições de atributos de segurança personalizados usando a API do Graph.
Solicitação
GET https://graph.microsoft.com/beta/users/{id}?$select=customSecurityAttributes
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users(customSecurityAttributes)/$entity",
"customSecurityAttributes": {
"Marketing": {
"@odata.type": "#microsoft.graph.customSecurityAttributeValue",
"EmployeeId": "QN26904"
},
"Engineering": {
"@odata.type": "#microsoft.graph.customSecurityAttributeValue",
"Project@odata.type": "#Collection(String)",
"Project": [
"Baker",
"Cascade"
],
"CostCenter@odata.type": "#Collection(Int32)",
"CostCenter": [
1001
],
"Certification": true
}
}
}
Se não houver atributos de segurança personalizados atribuídos ao usuário ou se a entidade de chamada não tiver acesso, o bloco a seguir mostrará a resposta:
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users(customSecurityAttributes)/$entity",
"customSecurityAttributes": null
}
Exemplo 5: 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/beta/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/beta/$metadata#users(ext55gb1l09_msLearnCourses)/$entity",
"ext55gb1l09_msLearnCourses": {
"@odata.type": "#microsoft.graph.ComplexExtensionValue",
"courseType": "Developer",
"courseName": "Introduction to Microsoft Graph",
"courseId": 1
}
}