presence : setPresence
Espace de noms: microsoft.graph
Définissez l’état de la session de présence d’un utilisateur en tant qu’application.
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 |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Sessions de présence
Un utilisateur peut avoir plusieurs sessions de présence, car il peut être sur plusieurs clients Teams (bureau, mobile et web). Chaque client Teams a une session de présence indépendante et la présence de l’utilisateur est un état agrégé de toutes les sessions derrière.
De même, une application peut avoir sa propre session de présence pour un utilisateur et être en mesure de mettre à jour l’état.
Voici la priorité pour la façon dont les états de session sont agrégés :
- Application configurée par > l’utilisateur (l’état configuré par l’utilisateur remplace les autres)
- Parmi les applications configurées : DoNotDisturb > Busy > Available Away >
Note: Quand la présence d’un utilisateur change dans Microsoft Graph, car le client Teams utilise le mode d’interrogation, la mise à jour du status de présence prend quelques minutes.
Délai d’expiration, expiration et maintien en vie
Une session de présence peut expirer et expirer, de sorte que l’application doit appeler cette API avant le délai d’expiration, afin de conserver l’état de la session ; ou avant l’expiration, pour maintenir la session active.
Une session de présence peut expirer si la disponibilité est Available
et que le délai d’expiration est de 5 minutes. Lorsqu’il expire, l’état de présence s’estompe par étapes. Par exemple, si une application définit la session de présence comme Available/Available
, l’état passe à Available/AvailableInactive
dans 5 minutes avec le premier délai d’expiration, puis Away/Away
dans 5 autres minutes avec le deuxième délai d’expiration.
L’expiration d’une session de présence est configurable avec le expirationDuration
paramètre . Lorsqu’une session expire, elle devient Offline
.
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/{userId}/presence/setPresence
En-têtes de demande
Nom | Description |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type | application/json. Obligatoire. |
Corps de la demande
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
Sessionid | string | ID de la session de présence de l’application. |
availability | string | Informations de présence de base. |
activité | string | Informations supplémentaires à la disponibilité. |
expirationDuration | durée | Expiration de la session de présence de l’application. La valeur est représentée au format ISO 8601 pour les durées.S’il n’est pas fourni, une expiration par défaut de 5 minutes est appliquée. La durée valide est comprise entre 5 et 240 minutes (PT5M à PT4H) |
Importante
Indiquez l’ID de l’application comme sessionId
dans la demande.
Les combinaisons prises en charge de availability
et activity
sont les suivantes :
availability | activité | Description |
---|---|---|
Disponible | Disponible | Mises à jour la session de présence comme disponible. |
Occupé(e) | InACall | Mises à jour la session de présence occupé, InACall. |
Occupé(e) | InAConferenceCall | Mises à jour la session de présence occupé, InAConferenceCall. |
Loin | Loin | Mises à jour la session de présence comme Absent. |
DoNotDisturb | Présentant | Mises à jour la session de présence en tant que DoNotDisturb, Présentation. |
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK
.
Exemples
La requête suivante montre l’application avec l’ID 22553876-f5ab-4529-bffb-cfe50aa89f87
qui définit sa session de présence pour l’utilisateur fa8bf3dc-eca7-46b7-bad1-db199b62afc3
.
Demande
POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setPresence
Content-Type: application/json
{
"sessionId": "22553876-f5ab-4529-bffb-cfe50aa89f87",
"availability": "Available",
"activity": "Available",
"expirationDuration": "PT1H"
}
Réponse
HTTP/1.1 200 OK