Espace de noms: microsoft.graph
Créez un instance timeOff dans une planification.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
✅ |
❌ |
❌ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
Déléguée (compte professionnel ou scolaire) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
Application |
Schedule.ReadWrite.All |
Non disponible. |
Remarque: cet API prend en charge les autorisations d’administrateur. Les utilisateurs disposant de rôles d’administrateur peuvent accéder à des groupes dont ils ne sont pas membres.
Requête HTTP
POST /teams/{teamId}/schedule/timesOff
En-tête |
Valeur |
Autorisation |
Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type |
application/json. Obligatoire. |
MS-APP-ACTS-AS (déconseillé) |
UN ID d’utilisateur (GUID). Obligatoire uniquement si le jeton d’autorisation est un jeton d’application ; sinon, facultatif. L’en-tête MS-APP-ACTS-AS est déconseillé et n’est plus nécessaire avec les jetons d’application. |
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet timeOff modifié.
Le tableau suivant répertorie les propriétés que vous pouvez utiliser lorsque vous créez un objet timeOff .
Propriété |
Type |
Description |
draftTimeOff |
timeOffItem |
Version brouillon de cet élément timeOff visible par les responsables. Il doit être partagé avant d’être visible par les membres de l’équipe.
draftOpenShift ou sharedOpenShift doit être null . |
isStagedForDeletion |
Booléen |
Le timeOff est marqué pour suppression, processus qui est finalisé lorsque la planification est partagée. Facultatif |
sharedTimeOff |
timeOffItem |
Version partagée de ce timeOff visible à la fois par les employés et les responsables. Mises à jour à la propriété sharedTimeOff envoyer des notifications aux utilisateurs dans le client Teams.
draftOpenShift ou sharedOpenShift doit être null . |
userId |
String |
ID de l’utilisateur affecté à timeOff. Obligatoire. |
Réponse
Si elle réussit, cette méthode renvoie un 201 Created
code de réponse et un objet timeOff dans le corps de la réponse.
Exemple
Demande
L’exemple suivant illustre une demande.
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);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// 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)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// 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);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?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();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# 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)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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
}