presence : setPresence

Espace de noms: microsoft.graph

Importante

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 .

Définissez la disponibilité et l’activité status dans une session de présence d’une application pour un utilisateur.

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, avec « A > B » représentant A ayant priorité sur B :

  • États de session préférés > par l’utilisateur (l’état préféré par l’utilisateur remplace les états au niveau de la session)
  • Parmi les états au niveau de la session : 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.

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/beta/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