anwesenheit: setPresence

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Legen Sie den Verfügbarkeits- und Aktivitätsstatus in einer Anwesenheitssitzung einer Anwendung für einen Benutzer 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 Status aus allen Sitzungen hinter den Sitzungen.

Auf ähnliche Weise kann eine Anwendung eine eigene Anwesenheitssitzung für einen Benutzer haben und den Status aktualisieren.

Es folgt die Rangfolge für die Aggregation von Sitzungszuständen, wobei "A > B" A mit Vorrang vor B darstellt:

  • Vom Benutzer bevorzugter Zustand > Zustände auf Sitzungsebene (vom Benutzer bevorzugter Zustand überschreibt Zustände auf Sitzungsebene)
  • Zwischen Zuständen auf Sitzungsebene: DoNotDisturb (wird derzeit nicht für setPresence unterstützt) > Beschäftigt > Verfügbar > Abwesend

Timeout, Ablauf und Keep-Alive

Eine Anwesenheitssitzung kann ein Timeout aufweisen und abläuft, sodass die Anwendung diese API vor dem Timeout aufrufen muss, um den Status für die Sitzung aufrechtzuerhalten. oder vor dem Ablauf, um die Sitzung am Leben zu halten.

Eine Anwesenheitssitzung kann ein Timeout haben, wenn die Verfügbarkeit und Available das Timeout 5 Minuten beträgt. Wenn ein Zeitüberschreitung auftritt, wird der Anwesenheitsstatus phasenweise eingeblendet. Wenn eine Anwendung beispielsweise die Anwesenheitssitzung als Available/Availablefestlegt, ändert sich Available/AvailableInactive der Status in 5 Minuten mit dem ersten Timeout und dann Away/Away in weiteren 5 Minuten mit dem zweiten Timeout.

Der Ablauf einer Anwesenheitssitzung kann mit dem expirationDuration Parameter konfiguriert werden. Wenn eine Sitzung abläuft, wird sie .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 string Die ID der Anwesenheitssitzung der Anwendung.
availability string Die grundlegenden Anwesenheitsinformationen.
Aktivität string Die zusätzlichen 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 Standardablauf von 5 Minuten angewendet.

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