Legen Sie die bevorzugte Verfügbarkeit und Aktivität status für einen Benutzer fest. Wenn die bevorzugte Anwesenheit eines Benutzers festgelegt ist, wird die Anwesenheit des Benutzers als bevorzugte status angezeigt.
Die bevorzugte Anwesenheit wird nur wirksam, wenn mindestens eine Anwesenheitssitzung für den Benutzer vorhanden ist. Andernfalls wird die Anwesenheit des Benutzers als Offlineangezeigt.
Eine Anwesenheitssitzung wird als Ergebnis eines erfolgreichen setPresence-Vorgangs oder erstellt, wenn der Benutzer bei einem Microsoft Teams-Client angemeldet ist.
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/setUserPreferredPresence
Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.
Parameter
Typ
Beschreibung
Aktivität
String
Die zusätzlichen Informationen zur Verfügbarkeit.
availability
String
Die Basis-Anwesenheitsinformationen.
expirationDuration
Dauer
Der Ablauf der App-Anwesenheitssitzung, die im ISO 8601-Format für die Dauer dargestellt wird. Wenn keine Angabe erfolgt, wird ein Standardablauf angewendet:
-
DoNotDisturb oder Busy: Ablauf in 1 Tag - Alle anderen: Ablauf in 7 Tagen
In der folgenden Tabelle sind unterstützte Kombinationen von Verfügbarkeit und Aktivität aufgeführt.
availability
Aktivität
Beschreibung
Verfügbar
Verfügbar
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest Available.
Gebucht
Gebucht
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest Busy.
DoNotDisturb
DoNotDisturb
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest DoNotDisturb.
BeRightBack
BeRightBack
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest BeRightBack.
Weg
Weg
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest Away.
Offline
OffWork
Legen Sie die vom Benutzer bevorzugte Anwesenheit auf fest Offline.
Antwort
Wenn die Methode erfolgreich verläuft, wird der Antwortcode 200 OK zurückgegeben.
Beispiele
Anforderung
Das folgende Beispiel zeigt eine Anforderung, die die bevorzugte Anwesenheit DoNotDisturb als für einen Benutzer mit einem Ablauf von 8 Stunden festlegt.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Users.Item.Presence.SetUserPreferredPresence;
var requestBody = new SetUserPreferredPresencePostRequestBody
{
Availability = "DoNotDisturb",
Activity = "DoNotDisturb",
ExpirationDuration = TimeSpan.Parse("PT8H"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Users["{user-id}"].Presence.SetUserPreferredPresence.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestBody := graphusers.NewSetUserPreferredPresencePostRequestBody()
availability := "DoNotDisturb"
requestBody.SetAvailability(&availability)
activity := "DoNotDisturb"
requestBody.SetActivity(&activity)
expirationDuration , err := abstractions.ParseISODuration("PT8H")
requestBody.SetExpirationDuration(&expirationDuration)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Users().ByUserId("user-id").Presence().SetUserPreferredPresence().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.presence.setuserpreferredpresence.SetUserPreferredPresencePostRequestBody setUserPreferredPresencePostRequestBody = new com.microsoft.graph.users.item.presence.setuserpreferredpresence.SetUserPreferredPresencePostRequestBody();
setUserPreferredPresencePostRequestBody.setAvailability("DoNotDisturb");
setUserPreferredPresencePostRequestBody.setActivity("DoNotDisturb");
PeriodAndDuration expirationDuration = PeriodAndDuration.ofDuration(Duration.parse("PT8H"));
setUserPreferredPresencePostRequestBody.setExpirationDuration(expirationDuration);
graphClient.users().byUserId("{user-id}").presence().setUserPreferredPresence().post(setUserPreferredPresencePostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Presence\SetUserPreferredPresence\SetUserPreferredPresencePostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SetUserPreferredPresencePostRequestBody();
$requestBody->setAvailability('DoNotDisturb');
$requestBody->setActivity('DoNotDisturb');
$requestBody->setExpirationDuration(new \DateInterval('PT8H'));
$graphServiceClient->users()->byUserId('user-id')->presence()->setUserPreferredPresence()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.presence.set_user_preferred_presence.set_user_preferred_presence_post_request_body import SetUserPreferredPresencePostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SetUserPreferredPresencePostRequestBody(
availability = "DoNotDisturb",
activity = "DoNotDisturb",
expiration_duration = "PT8H",
)
await graph_client.users.by_user_id('user-id').presence.set_user_preferred_presence.post(request_body)