Espace de noms: microsoft.graph
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.
Pour plus d’informations, consultez sessions de présence et délai d’attente et expiration.
Cette API est disponible dans les déploiements de cloud national suivants.
| Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
| Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
| Déléguée (compte professionnel ou scolaire) |
Presence.ReadWrite |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
Presence.ReadWrite.All |
Non disponible. |
Requête HTTP
POST /users/{id}/presence/setUserPreferredPresence
Corps de la demande
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
| Paramètre |
Type |
Description |
| activité |
String |
Informations supplémentaires à la disponibilité. |
| availability |
String |
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.
POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setUserPreferredPresence
Content-Type: application/json
{
"availability": "DoNotDisturb",
"activity": "DoNotDisturb",
"expirationDuration": "PT8H"
}
// 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);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (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
)
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)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// 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);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?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();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# 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)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK