presence: setPresence

Namespace: microsoft.graph

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

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Anwesenheitssitzungen

Ein Benutzer kann mehrere Anwesenheitssitzungen haben, da sich der Benutzer auf mehreren Teams-Clients (Desktop, Mobilgeräte und Web) befinden kann. Jeder Teams-Client verfügt über eine unabhängige Anwesenheitssitzung, und die Anwesenheit des Benutzers ist ein aggregierter Zustand aller Hintersitzungen.

Ebenso kann eine Anwendung über eine eigene Anwesenheitssitzung für einen Benutzer verfügen und den Zustand aktualisieren.

Im Folgenden finden Sie die Rangfolge für die Aggregation von Sitzungszuständen:

  • Vom Benutzer konfigurierte > App (vom Benutzer konfigurierter Zustand überschreibt andere)
  • Unter app-konfiguriert: DoNotDisturb > Busy > Available > Away

Hinweis: Wenn sich die Anwesenheit eines Benutzers in Microsoft Graph ändert, weil der Teams-Client den Abfragemodus verwendet, dauert es einige Minuten, bis die Anwesenheitsinformationen status aktualisiert wurden.

Timeout, Ablauf und Keep Alive

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

Für eine Anwesenheitssitzung kann ein Timeout auftreten, wenn die Verfügbarkeit ist Available und das Timeout 5 Minuten beträgt. Wenn ein Zeitüberschreitung auftritt, verblasst der Anwesenheitszustand stufenweise. Wenn eine Anwendung beispielsweise die Anwesenheitssitzung als Available/Availablefestlegt, würde sich der Zustand in 5 Minuten mit dem ersten Timeout und dann Away/Away in weitere 5 Minuten mit dem zweiten Timeout ändernAvailable/AvailableInactive.

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

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Presence.ReadWrite Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Presence.ReadWrite.All Nicht verfügbar.

HTTP-Anforderung

POST /users/{userId}/presence/setPresence

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

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

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

Wenn nicht angegeben, wird ein Standardablauf 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 Updates die Anwesenheitssitzung als Verfügbar aus.
Gebucht InACall Updates die Anwesenheitssitzung als Beschäftigt, InACall aus.
Gebucht InAConferenceCall Updates die Anwesenheitssitzung als Beschäftigt, InAConferenceCall.
Weg Weg Updates die Anwesenheitssitzung als Abwesend aus.
DoNotDisturb Präsentieren Updates die Anwesenheitssitzung als DoNotDisturb, Präsentieren.

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

Antwort

HTTP/1.1 200 OK