Namespace: microsoft.graph
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 Offline
angezeigt.
Eine Anwesenheitssitzung wird als Ergebnis eines erfolgreichen setPresence-Vorgangs oder erstellt, wenn der Benutzer bei einem Microsoft Teams-Client angemeldet ist.
Weitere Informationen finden Sie unter Anwesenheitssitzungen und Timeout und Ablauf.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
✅ |
✅ |
✅ |
❌ |
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/setUserPreferredPresence
Anforderungstext
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.
POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setUserPreferredPresence
Content-Type: application/json
{
"availability": "DoNotDisturb",
"activity": "DoNotDisturb",
"expirationDuration": "PT8H"
}
// 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);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
// 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)
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
// 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);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
const options = {
authProvider,
};
const client = Client.init(options);
const setUserPreferredPresence = {
availability: 'DoNotDisturb',
activity: 'DoNotDisturb',
expirationDuration: 'PT8H'
};
await client.api('/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setUserPreferredPresence')
.post(setUserPreferredPresence);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
<?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();
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
# 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)
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK