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.
Obtenha as propriedades e relações de um objeto de utilizador . Se o ID especificado for o de um agentUser, a API devolve as propriedades do objeto agentUser .
Esta operação devolve, por predefinição, apenas um subconjunto das propriedades mais utilizadas. 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 através de Microsoft Entra ID para clientes também podem utilizar esta operação de API para obter os seus detalhes.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
|---|---|---|
| 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 a aplicação leia o perfil e descubra relações como a associação ao grupo, relatórios e gestor apenas do utilizador com sessão iniciada.
Permissões para cenários específicos
- Para ler a propriedade employeeLeaveDateTime :
- Em cenários delegados, o utilizador com sessão iniciada precisa de, pelo menos, uma das seguintes funções de Microsoft Entra: Administrador de Fluxos de Trabalho do Ciclo de Vida (mínimo privilégio), Leitor Global; a aplicação tem de ter a permissão delegada User-LifeCycleInfo.Read.All.
- Em cenários apenas de aplicações com permissões do Microsoft Graph, a aplicação tem de ter a permissão User-LifeCycleInfo.Read.All .
- Para ler a propriedade customSecurityAttributes :
- Em cenários delegados, tem de ser atribuída ao utilizador com sessão iniciada a função Administrador de Atribuição de Atributos e a aplicação concedeu a permissão CustomSecAttributeAssignment.Read.All .
- Em cenários apenas de aplicações com permissões do Microsoft Graph, tem de ser concedida a permissão CustomSecAttributeAssignment.Read.All à aplicação.
- User-Mail.ReadWrite.All é a permissão com menos privilégios para ler e escrever a propriedade outros Correios ; também permite ler algumas propriedades relacionadas com o identificador no objeto de utilizador.
- User-PasswordProfile.ReadWrite.All é a permissão com menos privilégios para ler e escrever propriedades relacionadas com a reposição de palavra-passe; também permite ler algumas propriedades relacionadas com o identificador no objeto de utilizador.
- User-Phone.ReadWrite.All é a permissão com menos privilégios para ler e escrever as propriedades businessPhones e mobilePhone ; também permite ler algumas propriedades relacionadas com o identificador no objeto de utilizador.
- User.EnableDisableAccount.All + User.Read.All é a combinação menos privilegiada de permissões para ler e escrever 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. As permissões de aplicação não são suportadas ao utilizar o /me ponto final.
Para um utilizador ou agente EspecificadoUtilizador:
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. O pedido falha porque o URL viola a convenção de URL de OData, que espera que apenas as opções de consulta do sistema sejam prefixadas com um$caráter. 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
Este método suporta o $selectparâmetro de consulta OData para obter propriedades específicas, incluindo as que não são devolvidas por predefinição. As propriedades da extensão também suportam parâmetros de consulta da seguinte forma:
| 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, este método devolve um código de resposta e o 200 OKobjeto 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 não existir um objeto com o ID, este método devolve um 404 Not Found código de erro.
Exemplo
Exemplo 1: Obter as propriedades do utilizador com sessão iniciada ou do agente autenticadoUtilizador
Solicitação
GET https://graph.microsoft.com/beta/me
Resposta
O exemplo a seguir mostra a resposta. Observação: o objeto de resposta exibido 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 devolve 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 devolver displayName, givenName, postalCode e identidades, adicione a seguinte expressão de consulta à 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 atributos de segurança personalizadas para um utilizador
O exemplo seguinte mostra como obter as atribuições de atributos de segurança personalizadas para um utilizador.
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 personalizadas, veja Exemplos: Atribuir, atualizar, listar ou remover atribuições de atributos de segurança personalizadas com o Microsoft 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 existirem atributos de segurança personalizados atribuídos ao utilizador ou se o principal de chamada não tiver acesso, o bloco seguinte mostra 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
}
}