Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Cette opération renvoie par défaut uniquement un sous-ensemble des propriétés plus couramment utilisées pour chaque utilisateur. Ces propriétés par défaut sont indiquées dans la section Propriétés. Pour obtenir des propriétés qui ne sont pas renvoyées par défaut, effectuez une opération GET pour l'utilisateur et spécifiez les propriétés dans une option de requête OData $select. Dans la mesure où la ressource utilisateur prend en charge des extensions, vous pouvez également utiliser l’opération GET pour obtenir des propriétés personnalisées et des données d’extension dans une instance utilisateur.
Les clients via Microsoft Entra ID pour les clients peuvent également utiliser cette opération d’API pour récupérer leurs détails.
L’appel du point de terminaison /me nécessite un utilisateur connecté et par conséquent une autorisation déléguée. Les autorisations d’application ne sont pas prises en charge lorsque le point de terminaison /me est utilisé.
L’autorisation User.Read permet à l’application de lire le profil et de découvrir des relations telles que l’appartenance au groupe, les rapports et le responsable de l’utilisateur connecté uniquement.
Pour lire la propriété employeeLeaveDateTime :
Dans les scénarios délégués, l’administrateur a besoin d’au moins l’un des rôles Microsoft Entra suivants : Administrateur des workflows de cycle de vie (privilège minimum), Lecteur général ; l’application doit disposer de l’autorisation déléguée User-LifeCycleInfo.Read.All.
Dans les scénarios d’application uniquement avec des autorisations Microsoft Graph, l’application doit disposer de l’autorisation User-LifeCycleInfo.Read.All .
Pour lire la propriété customSecurityAttributes :
Dans les scénarios délégués, l’administrateur doit se voir attribuer le rôle Administrateur d’attribution d’attributs et l’application doit disposer de l’autorisation CustomSecAttributeAssignment.Read.All .
Dans les scénarios d’application uniquement avec des autorisations Microsoft Graph, l’application doit disposer de l’autorisation CustomSecAttributeAssignment.Read.All .
Requête HTTP
Pour un utilisateur spécifique :
GET /me
GET /users/{id | userPrincipalName}
Conseil
Lorsque userPrincipalName commence par un $ caractère, la syntaxe de l’URL de la requête GET /users/$x@y.com échoue avec un 400 Bad Request code d’erreur. Cela est dû au fait que cette URL de requête enfreint la convention d’URL OData, qui n’attend que des options de requête système précédées par un caractère $. Supprimez la barre oblique (/) après /users et insérez le userPrincipalName entre parenthèses et les guillemets simples, comme suit : /users('$x@y.com'). Par exemple, /users('$AdeleVance@contoso.com').
Pour interroger un utilisateur B2B à l’aide de userPrincipalName, codez le caractère dièse (#). À savoir, remplacez le symbole # par %23. Par exemple, /users/AdeleVance_adatum.com%23EXT%23@contoso.com.
Pour l’utilisateur connecté :
GET /me
Paramètres facultatifs de la requête
Cette méthode prend en charge le $selectparamètre de requête OData pour récupérer des propriétés utilisateur spécifiques, y compris celles qui ne sont pas retournées par défaut. Les propriétés d’extension prennent également en charge les paramètres de requête comme suit :
N’indiquez pas le corps de la demande pour cette méthode.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK et un objet user dans le corps de la réponse. Elle renvoie les propriétés par défaut, sauf si vous utilisez $select pour spécifier des propriétés spécifiques. Cette méthode renvoie 202 Accepted lorsque le traitement de la demande a réussi mais que le serveur a besoin de plus de temps pour effectuer les opérations d’arrière-plan associées.
Si un utilisateur avec l’ID n’existe pas, cette méthode retourne un 404 Not Found code d’erreur.
Exemple
Exemple 1: obtenir les propriétés de l’utilisateur connecté
// 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();
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// 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(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.me().get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta 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.me.get()
// 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}"].GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.users().byUserId("{user-id}").get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta 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').get()
Exemple 3 : utiliser $select pour récupérer des propriétés spécifiques d’un utilisateur
Pour récupérer des propriétés spécifiques, utilisez le paramètre de $select requête OData. Par exemple, pour renvoyer displayName, givenName, postalCodeet identités, vous devez utiliser l’ajout de ce qui suit à votre requête $select=displayName,givenName,postalCode,identities.
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}?$select=displayName,givenName,postalCode,identities
// 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}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "displayName","givenName","postalCode","identities" };
});
// 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"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestParameters := &graphusers.UserItemRequestBuilderGetQueryParameters{
Select: [] string {"displayName","givenName","postalCode","identities"},
}
configuration := &graphusers.UserItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.users().byUserId("{user-id}").get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"displayName", "givenName", "postalCode", "identities"};
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.user_item_request_builder import UserItemRequestBuilder
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 = UserItemRequestBuilder.UserItemRequestBuilderGetQueryParameters(
select = ["displayName","givenName","postalCode","identities"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.users.by_user_id('user-id').get(request_configuration = request_configuration)
Exemple 4 : Obtenir les attributions d’attributs de sécurité personnalisées pour un utilisateur
L’exemple suivant montre comment obtenir les attributions d’attributs de sécurité personnalisées pour un utilisateur.
Attribut #1
Jeu d’attributs : Engineering
Attribut : Project
Type de données d’attribut : collection de chaînes
Valeur d’attribut : ["Baker","Cascade"]
Attribut #2
Jeu d’attributs : Engineering
Attribut : CostCenter
Type de données d’attribut : collection de nombres entiers
Valeur d’attribut : [1001]
Attribut #3
Jeu d’attributs : Engineering
Attribut : Certification
Type de données d’attribut : booléen
Valeur d’attribut : true
Attribut #4
Jeu d’attributs : Marketing
Attribut : EmployeeId
Type de données d’attribut : chaîne
Valeur d’attribut : "QN26904"
Pour obtenir des affectations d’attributs de sécurité personnalisées, le principal appelant doit avoir le rôle de Lecteur d’affectation d’attributs ou le rôle d’Administrateur d’affectations d’attributs et doit avoir l’autorisation CustomSecAttributeAssignment.Read.All ou CustomSecAttributeAssignment.ReadWrite.All.
GET https://graph.microsoft.com/beta/users/{id}?$select=customSecurityAttributes
// 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}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "customSecurityAttributes" };
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
//other-imports
)
requestParameters := &graphusers.UserItemRequestBuilderGetQueryParameters{
Select: [] string {"customSecurityAttributes"},
}
configuration := &graphusers.UserItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.users().byUserId("{user-id}").get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"customSecurityAttributes"};
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.user_item_request_builder import UserItemRequestBuilder
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 = UserItemRequestBuilder.UserItemRequestBuilderGetQueryParameters(
select = ["customSecurityAttributes"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.users.by_user_id('user-id').get(request_configuration = request_configuration)
Si aucun attribut de sécurité personnalisé n’est attribué à l’utilisateur du service ou si le principal appelant n’a pas d’accès, la réponse ressemble à :
GET https://graph.microsoft.com/beta/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e?$select=ext55gb1l09_msLearnCourses
// 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}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "ext55gb1l09_msLearnCourses" };
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
//other-imports
)
requestParameters := &graphusers.UserItemRequestBuilderGetQueryParameters{
Select: [] string {"ext55gb1l09_msLearnCourses"},
}
configuration := &graphusers.UserItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User result = graphClient.users().byUserId("{user-id}").get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"ext55gb1l09_msLearnCourses"};
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.user_item_request_builder import UserItemRequestBuilder
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 = UserItemRequestBuilder.UserItemRequestBuilderGetQueryParameters(
select = ["ext55gb1l09_msLearnCourses"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.users.by_user_id('user-id').get(request_configuration = request_configuration)