Namespace: microsoft.graph
Retorna o usuário ou o contato organizacional atribuído como gerente do usuário. Opcionalmente, você pode expandir a cadeia do gerente ao nó raiz.
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.All |
AgentIdUser.ReadWrite.All, AgentIdUser.ReadWrite.IdentityParentedBy, Directory.Read.All, Directory.ReadWrite.All, User.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
Sem suporte. |
Sem suporte. |
Importante
Quando um aplicativo consulta uma relação que retorna uma coleção de tipos directoryObject , se ele não tiver permissão para ler um determinado tipo de recurso, membros desse tipo serão retornados, mas com informações limitadas. Por exemplo, somente a propriedade @odata.type para o tipo de objeto e a id são retornadas, enquanto outras propriedades são indicadas como null. Com esse comportamento, os aplicativos podem solicitar as permissões menos privilegiadas de que precisam, em vez de depender do conjunto de Diretório.* permissões. Para obter mais detalhes, confira Informações limitadas retornadas para objetos membro inacessíveis.
Solicitação HTTP
Obtenha o gerente:
GET /me/manager
GET /users/{id | userPrincipalName}/manager
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.
Obtenha a cadeia de gerenciamento:
GET /users?$expand=manager
GET /users/{id | userPrincipalName}/?$expand=manager($levels=n)
Parâmetros de consulta opcionais
Este método oferece suporte aos $select e $expandparâmetros de consulta OData para ajudar a personalizar a resposta. Ao usar o $expand parâmetro de consulta:
- O valor
n de $levels pode ser max (para retornar todos os gerentes) ou um número entre 1 e 1000.
- Quando o
$levels parâmetro não for especificado, apenas o gerente imediato será retornado.
- Você pode especificar
$select inside $expand para selecionar as propriedades individuais do gerente: $expand=manager($levels=max;$select=id,displayName).
-
$levels só tem suporte em um único usuário (/users/{id}me ou pontos de extremidade) e não em toda a lista de usuários.
- O uso de
$levels requer o cabeçalho ConsistencyLevel definido como eventual. Para obter mais informações sobre o uso de ConsistencyLevel, consulte Recursos avançados de consulta em objetos de diretório.
| Cabeçalho |
Valor |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| ConsistencyLevel |
eventualmente. Necessário quando a solicitação inclui o $levels=n no $expand parâmetro de consulta. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se tiver êxito, este método retornará um código de resposta 200 OK e um objeto user no corpo da resposta. Se o usuário não tiver um gerente atribuído, esse método retornará um código de 404 Not Found erro.
Exemplos
Exemplo 1: obtenha o gerente
O exemplo a seguir mostra uma solicitação para obter o gerente.
Solicitação
GET https://graph.microsoft.com/v1.0/users/{id|userPrincipalName}/manager
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Manager.GetAsync();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
manager, err := graphClient.Users().ByUserId("user-id").Manager().Get(context.Background(), nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryObject result = graphClient.users().byUserId("{user-id}").manager().get();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->users()->byUserId('user-id')->manager()->get()->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.users.by_user_id('user-id').manager.get()
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado com fins de legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "7d54cb02-aaa3-4016-9f9c-a4b49422dd9b",
"displayName": "Sara Davis",
"jobTitle": "Finance VP",
"mail": "SaraD@contoso.com",
"userPrincipalName": "SaraD@contoso.com"
}
Exemplo 2: obtenha a cadeia de gerentes ao nível raiz
O exemplo a seguir mostra uma solicitação para obter a cadeia de gerentes ao nível raiz.
Solicitação
GET https://graph.microsoft.com/v1.0/me?$expand=manager($levels=max;$select=id,displayName)&$select=id,displayName
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Expand = new string []{ "manager($levels=max;$select=id,displayName)" };
requestConfiguration.QueryParameters.Select = new string []{ "id","displayName" };
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("ConsistencyLevel", "eventual")
requestParameters := &graphusers.MeRequestBuilderGetQueryParameters{
Expand: [] string {"manager($levels=max;$select=id,displayName)"},
Select: [] string {"id","displayName"},
}
configuration := &graphusers.MeRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
me, err := graphClient.Me().Get(context.Background(), configuration)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.me().get(requestConfiguration -> {
requestConfiguration.queryParameters.expand = new String []{"manager($levels=max;$select=id,displayName)"};
requestConfiguration.queryParameters.select = new String []{"id", "displayName"};
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
let user = await client.api('/me')
.header('ConsistencyLevel','eventual')
.expand('manager($levels=max;$select=id,displayName)')
.select('id,displayName')
.get();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Me\MeRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new UserItemRequestBuilderGetRequestConfiguration();
$headers = [
'ConsistencyLevel' => 'eventual',
];
$requestConfiguration->headers = $headers;
$queryParameters = UserItemRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->expand = ["manager(\$levels=max;\$select=id,displayName)"];
$queryParameters->select = ["id","displayName"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->me()->get($requestConfiguration)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Import-Module Microsoft.Graph.Users
# A UPN can also be used as -UserId.
Get-MgUser -UserId $userId -ExpandProperty "manager(`$levels=max;`$select=id,displayName)" -Property "id,displayName" -ConsistencyLevel eventual
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.me.me_request_builder import MeRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = MeRequestBuilder.MeRequestBuilderGetQueryParameters(
expand = ["manager($levels=max;$select=id,displayName)"],
select = ["id","displayName"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.me.get(request_configuration = request_configuration)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta. Os gerentes transitivos são exibidos hierarquicamente.
Observação: o objeto de resposta mostrado aqui pode ser encurtado com fins de legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "a97733ce-92a4-4e7e-8d45-8e1f3e6a69d8",
"displayName": "Individual Contributor",
"manager": {
"id": "7d54cb02-aaa3-4016-9f9c-a4b49422dd9b",
"displayName": "Alex Wilber",
"manager": {
"id": "343a3f95-377c-47a9-b697-480487bfcdf7",
"displayName": "Bianca Pisani",
"manager": {
"id": "8e07b731-5ba7-4081-b482-15e6eca35c45",
"displayName": "Patti Fernandez"
}
}
}
}