anwesenheit: setPresence

Namespace: microsoft.graph

Legen Sie den Status der Anwesenheitssitzung eines Benutzers als Anwendung fest.

Anwesenheitssitzungen

Ein Benutzer kann mehrere Anwesenheitssitzungen haben, da sich der Benutzer auf mehreren Teams Clients (Desktop, Mobil und Web) befindet. Jeder Teams-Client verfügt über eine unabhängige Anwesenheitssitzung, und die Anwesenheit des Benutzers ist ein aggregierter Zustand aus allen Sitzungen, die zurückliegen.

Ebenso kann eine Anwendung eine eigene Anwesenheitssitzung für einen Benutzer haben und den Status aktualisieren.

Es folgt die Rangfolge für die Zusammenfassung von Sitzungszuständen:

  • Vom Benutzer konfigurierte > app-konfiguriert (durch den Benutzer konfigurierter Zustand setzt andere außer Kraft)
  • Unter app-konfiguriert: DoNotDisturb (derzeit nicht für festgelegte Anwesenheitsinformationen unterstützt) > Beschäftigt > Verfügbar > Abwesend

Timeout, Ablauf und Keep Alive

Bei einer Anwesenheitssitzung kann ein Timeout auftreten und ablaufen, sodass die Anwendung diese API vor dem Timeout aufrufen muss, um den Status für die Sitzung aufrechtzuerhalten. oder vor ablaufen, um die Sitzung aktiv zu halten.

Bei einer Anwesenheitssitzung kann ein Timeout auftreten, wenn die Verfügbarkeit Available und das Timeout 5 Minuten beträgt. Wenn es zu einem Zeitauslass kommt, wird der Anwesenheitszustand phasenweise ausgeblendet. Wenn beispielsweise eine Anwendung die Anwesenheitssitzung als Available/Availablefestlegt, würde sich der Status in 5 Minuten mit dem ersten Timeout ändern Available/AvailableInactive , dann Away/Away in weiteren 5 Minuten mit dem zweiten Timeout.

Der Ablauf einer Anwesenheitssitzung ist mit dem expirationDuration Parameter konfigurierbar. Wenn eine Sitzung abläuft, wird sie zu Offline.

Berechtigungen

Die folgende Berechtigung ist erforderlich, um die API aufzurufen. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Presence.ReadWrite
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt.
Anwendung Presence.ReadWrite.All

HTTP-Anforderung

POST /users/{userId}/presence/setPresence

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.

Parameter Typ Beschreibung
Sessionid Zeichenfolge Die ID der Anwesenheitssitzung der Anwendung.
availability Zeichenfolge Die Basis-Anwesenheitsinformationen.
Aktivität Zeichenfolge Die ergänzenden Informationen zur Verfügbarkeit.
expirationDuration Dauer Der Ablauf der App-Anwesenheitssitzung. Der Wert wird für Dauer im ISO 8601-Format dargestellt.

Wenn nicht angegeben, wird ein Standardmäßiger Ablauf von 5 Minuten angewendet. Der gültige Dauerbereich beträgt 5-240 Minuten (PT5M bis PT4H)

Wichtig

Geben Sie die ID der Anwendung wie sessionId in der Anforderung an.

Unterstützte Kombinationen von availability und activity sind:

availability Aktivität Beschreibung
Verfügbar Verfügbar Aktualisiert die Anwesenheitssitzung als verfügbar.
Gebucht InACall Aktualisiert die Anwesenheitssitzung als beschäftigt, InACall.
Gebucht InAConferenceCall Aktualisiert die Anwesenheitssitzung als "Beschäftigt", "InAConferenceCall".
Weg Weg Aktualisiert die Anwesenheitssitzung als "Abwesend".

Antwort

Wenn die Methode erfolgreich verläuft, wird der Antwortcode 200 OK zurückgegeben.

Beispiele

Die folgende Anforderung zeigt die Anwendung mit der ID 22553876-f5ab-4529-bffb-cfe50aa89f87 , die ihre Anwesenheitssitzung für den Benutzer fa8bf3dc-eca7-46b7-bad1-db199b62afc3festlegt.

Anforderung

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"
}

Antwort

HTTP/1.1 200 OK