Namespace: microsoft.graph
Erstellen Sie eine neue timeOff-instance in einem Zeitplan.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
Application |
Schedule.ReadWrite.All |
Nicht verfügbar. |
Hinweis: Diese API unterstützt Administratorberechtigungen. Benutzer mit Administratorrollen können auf Gruppen zugreifen, in denen sie nicht Mitglied sind.
HTTP-Anforderung
POST /teams/{teamId}/schedule/timesOff
Kopfzeile |
Wert |
Authorization |
Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung. |
Content-Type |
application/json. Erforderlich. |
MS-APP-ACTS-AS (veraltet) |
Eine Benutzer-ID (GUID). Nur erforderlich, wenn das Autorisierungstoken ein Anwendungstoken ist. andernfalls optional. Der MS-APP-ACTS-AS Header ist veraltet und für Anwendungstoken nicht mehr erforderlich. |
Anforderungstext
Geben Sie im Anforderungstext eine JSON-Darstellung des geänderten timeOff-Objekts an.
In der folgenden Tabelle sind die Eigenschaften aufgeführt, die Sie verwenden können, wenn Sie ein timeOff-Objekt erstellen.
Eigenschaft |
Typ |
Beschreibung |
draftTimeOff |
timeOffItem |
Die Entwurfsversion dieses timeOff-Elements , das von Managern angezeigt werden kann. Sie muss freigegeben werden, bevor sie für Teammitglieder sichtbar ist.
DraftOpenShift oder sharedOpenShift sollte seinnull . |
isStagedForDeletion |
Boolean |
TimeOff wird zum Löschen markiert, ein Prozess, der abgeschlossen wird, wenn der Zeitplan freigegeben wird. Optional |
sharedTimeOff |
timeOffItem |
Die freigegebene Version von timeOff , die sowohl von Mitarbeitern als auch von Vorgesetzten angezeigt werden kann. Updates an die sharedTimeOff-Eigenschaft senden Benachrichtigungen an Benutzer im Teams-Client.
DraftOpenShift oder sharedOpenShift sollte seinnull . |
userId |
String |
ID des Benutzers, der timeOff zugewiesen ist. Erforderlich. |
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 201 Created
Antwortcode und ein timeOff-Objekt im Antworttext zurück.
Beispiel
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/v1.0/teams/{teamId}/schedule/timesOff
Content-type: application/json
{
"userId": "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
"sharedTimeOff": {
"timeOffReasonId": "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
"startDateTime": "2024-10-10T19:00:00Z",
"endDateTime": "2024-10-10T20:00:00Z",
"theme": "blue"
},
"draftTimeOff": null,
"isStagedForDeletion": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new TimeOff
{
UserId = "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
SharedTimeOff = new TimeOffItem
{
TimeOffReasonId = "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
StartDateTime = DateTimeOffset.Parse("2024-10-10T19:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2024-10-10T20:00:00Z"),
Theme = ScheduleEntityTheme.Blue,
},
DraftTimeOff = null,
IsStagedForDeletion = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.TimesOff.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.
mgc teams schedule times-off create --team-id {team-id} --body '{\
"userId": "aa162a04-bec6-4b81-ba99-96caa7b2b24d",\
"sharedTimeOff": {\
"timeOffReasonId": "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",\
"startDateTime": "2024-10-10T19:00:00Z",\
"endDateTime": "2024-10-10T20:00:00Z",\
"theme": "blue"\
},\
"draftTimeOff": null,\
"isStagedForDeletion": false\
}\
'
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"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewTimeOff()
userId := "aa162a04-bec6-4b81-ba99-96caa7b2b24d"
requestBody.SetUserId(&userId)
sharedTimeOff := graphmodels.NewTimeOffItem()
timeOffReasonId := "TOR_29a5ba96-c7ef-4e76-bec6-055323746314"
sharedTimeOff.SetTimeOffReasonId(&timeOffReasonId)
startDateTime , err := time.Parse(time.RFC3339, "2024-10-10T19:00:00Z")
sharedTimeOff.SetStartDateTime(&startDateTime)
endDateTime , err := time.Parse(time.RFC3339, "2024-10-10T20:00:00Z")
sharedTimeOff.SetEndDateTime(&endDateTime)
theme := graphmodels.BLUE_SCHEDULEENTITYTHEME
sharedTimeOff.SetTheme(&theme)
requestBody.SetSharedTimeOff(sharedTimeOff)
draftTimeOff := null
requestBody.SetDraftTimeOff(&draftTimeOff)
isStagedForDeletion := false
requestBody.SetIsStagedForDeletion(&isStagedForDeletion)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
timesOff, err := graphClient.Teams().ByTeamId("team-id").Schedule().TimesOff().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);
TimeOff timeOff = new TimeOff();
timeOff.setUserId("aa162a04-bec6-4b81-ba99-96caa7b2b24d");
TimeOffItem sharedTimeOff = new TimeOffItem();
sharedTimeOff.setTimeOffReasonId("TOR_29a5ba96-c7ef-4e76-bec6-055323746314");
OffsetDateTime startDateTime = OffsetDateTime.parse("2024-10-10T19:00:00Z");
sharedTimeOff.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2024-10-10T20:00:00Z");
sharedTimeOff.setEndDateTime(endDateTime);
sharedTimeOff.setTheme(ScheduleEntityTheme.Blue);
timeOff.setSharedTimeOff(sharedTimeOff);
timeOff.setDraftTimeOff(null);
timeOff.setIsStagedForDeletion(false);
TimeOff result = graphClient.teams().byTeamId("{team-id}").schedule().timesOff().post(timeOff);
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 timeOff = {
userId: 'aa162a04-bec6-4b81-ba99-96caa7b2b24d',
sharedTimeOff: {
timeOffReasonId: 'TOR_29a5ba96-c7ef-4e76-bec6-055323746314',
startDateTime: '2024-10-10T19:00:00Z',
endDateTime: '2024-10-10T20:00:00Z',
theme: 'blue'
},
draftTimeOff: null,
isStagedForDeletion: false
};
await client.api('/teams/{teamId}/schedule/timesOff')
.post(timeOff);
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\Models\TimeOff;
use Microsoft\Graph\Generated\Models\TimeOffItem;
use Microsoft\Graph\Generated\Models\ScheduleEntityTheme;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TimeOff();
$requestBody->setUserId('aa162a04-bec6-4b81-ba99-96caa7b2b24d');
$sharedTimeOff = new TimeOffItem();
$sharedTimeOff->setTimeOffReasonId('TOR_29a5ba96-c7ef-4e76-bec6-055323746314');
$sharedTimeOff->setStartDateTime(new \DateTime('2024-10-10T19:00:00Z'));
$sharedTimeOff->setEndDateTime(new \DateTime('2024-10-10T20:00:00Z'));
$sharedTimeOff->setTheme(new ScheduleEntityTheme('blue'));
$requestBody->setSharedTimeOff($sharedTimeOff);
$requestBody->setDraftTimeOff(null);
$requestBody->setIsStagedForDeletion(false);
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->timesOff()->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.
Import-Module Microsoft.Graph.Teams
$params = @{
userId = "aa162a04-bec6-4b81-ba99-96caa7b2b24d"
sharedTimeOff = @{
timeOffReasonId = "TOR_29a5ba96-c7ef-4e76-bec6-055323746314"
startDateTime = [System.DateTime]::Parse("2024-10-10T19:00:00Z")
endDateTime = [System.DateTime]::Parse("2024-10-10T20:00:00Z")
theme = "blue"
}
draftTimeOff = $null
isStagedForDeletion = $false
}
New-MgTeamScheduleTimeOff -TeamId $teamId -BodyParameter $params
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.models.time_off import TimeOff
from msgraph.generated.models.time_off_item import TimeOffItem
from msgraph.generated.models.schedule_entity_theme import ScheduleEntityTheme
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TimeOff(
user_id = "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
shared_time_off = TimeOffItem(
time_off_reason_id = "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
start_date_time = "2024-10-10T19:00:00Z",
end_date_time = "2024-10-10T20:00:00Z",
theme = ScheduleEntityTheme.Blue,
),
draft_time_off = None,
is_staged_for_deletion = False,
)
result = await graph_client.teams.by_team_id('team-id').schedule.times_off.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.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('48ba9e52-8d25-41c7-bbe7-5ee6346eec0d')/schedule/timesOff/$entity",
"@odata.etag": "\"40021ee2-0000-0c00-0000-672ea2790000\"",
"id": "SHFT_d0941bce-2229-43f5-b1cd-c9e2eaf592cf",
"createdDateTime": "2024-11-08T23:44:56.913Z",
"lastModifiedDateTime": "2024-11-08T23:44:56.913Z",
"userId": "aa162a04-bec6-4b81-ba99-96caa7b2b24d",
"draftTimeOff": null,
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
"displayName": "John Doe",
"userIdentityType": "aadUser",
"tenantId": null
}
},
"sharedTimeOff": {
"timeOffReasonId": "TOR_29a5ba96-c7ef-4e76-bec6-055323746314",
"startDateTime": "2024-10-10T19:00:00Z",
"endDateTime": "2024-10-10T20:00:00Z",
"theme": "blue"
},
"isStagedForDeletion": false
}