Définissez les status de disponibilité et d’activité par défaut pour un utilisateur. Si la présence préférée d’un utilisateur est définie, la présence de l’utilisateur s’affiche comme status par défaut.
La présence préférée prend effet uniquement lorsqu’il existe au moins une session de présence pour l’utilisateur. Sinon, la présence de l’utilisateur s’affiche sous la forme Offline.
Une session de présence est créée à la suite d’une opération setPresence réussie, ou si l’utilisateur est connecté à un client Microsoft Teams.
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
Paramètre
Type
Description
activité
Chaîne
Informations supplémentaires à la disponibilité.
availability
Chaîne
Informations de présence de base.
expirationDuration
Durée
Expiration de la session de présence de l’application représentée au format ISO 8601 pour les durées. S’il n’est pas fourni, une expiration par défaut est appliquée :
-
DoNotDisturb ou Busy: Expiration en 1 jour - Tous les autres : Expiration dans 7 jours
Le tableau suivant répertorie les combinaisons de disponibilité et d’activité prises en charge.
availability
activité
Description
Disponible
Disponible
Définissez la présence préférée de l’utilisateur sur Available.
Occupé(e)
Occupé(e)
Définissez la présence préférée de l’utilisateur sur Busy.
DoNotDisturb
DoNotDisturb
Définissez la présence préférée de l’utilisateur sur DoNotDisturb.
BeRightBack
BeRightBack
Définissez la présence préférée de l’utilisateur sur BeRightBack.
Loin
Loin
Définissez la présence préférée de l’utilisateur sur Away.
Hors connexion
OffWork
Définissez la présence préférée de l’utilisateur sur Offline.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK.
Exemples
Demande
L’exemple suivant montre une requête qui définit la présence préférée comme DoNotDisturb pour un utilisateur, avec une expiration de 8 heures.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Users.Item.Presence.SetUserPreferredPresence;
var requestBody = new SetUserPreferredPresencePostRequestBody
{
Availability = "DoNotDisturb",
Activity = "DoNotDisturb",
ExpirationDuration = TimeSpan.Parse("PT8H"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Users["{user-id}"].Presence.SetUserPreferredPresence.PostAsync(requestBody);
// 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
)
requestBody := graphusers.NewSetUserPreferredPresencePostRequestBody()
availability := "DoNotDisturb"
requestBody.SetAvailability(&availability)
activity := "DoNotDisturb"
requestBody.SetActivity(&activity)
expirationDuration , err := abstractions.ParseISODuration("PT8H")
requestBody.SetExpirationDuration(&expirationDuration)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Users().ByUserId("user-id").Presence().SetUserPreferredPresence().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.presence.setuserpreferredpresence.SetUserPreferredPresencePostRequestBody setUserPreferredPresencePostRequestBody = new com.microsoft.graph.users.item.presence.setuserpreferredpresence.SetUserPreferredPresencePostRequestBody();
setUserPreferredPresencePostRequestBody.setAvailability("DoNotDisturb");
setUserPreferredPresencePostRequestBody.setActivity("DoNotDisturb");
PeriodAndDuration expirationDuration = PeriodAndDuration.ofDuration(Duration.parse("PT8H"));
setUserPreferredPresencePostRequestBody.setExpirationDuration(expirationDuration);
graphClient.users().byUserId("{user-id}").presence().setUserPreferredPresence().post(setUserPreferredPresencePostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Presence\SetUserPreferredPresence\SetUserPreferredPresencePostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SetUserPreferredPresencePostRequestBody();
$requestBody->setAvailability('DoNotDisturb');
$requestBody->setActivity('DoNotDisturb');
$requestBody->setExpirationDuration(new \DateInterval('PT8H'));
$graphServiceClient->users()->byUserId('user-id')->presence()->setUserPreferredPresence()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.presence.set_user_preferred_presence.set_user_preferred_presence_post_request_body import SetUserPreferredPresencePostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SetUserPreferredPresencePostRequestBody(
availability = "DoNotDisturb",
activity = "DoNotDisturb",
expiration_duration = "PT8H",
)
await graph_client.users.by_user_id('user-id').presence.set_user_preferred_presence.post(request_body)