Espacio de nombres: microsoft.graph
Cree una nueva instancia de turno en una programación.
La duración de un turno no puede ser inferior a 1 minuto o más de 24 horas.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
Schedule.ReadWrite.All |
No disponible. |
Solicitud HTTP
POST /teams/{teamId}/schedule/shifts
| Encabezado |
Valor |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
| MS-APP-ACTS-AS (en desuso) |
Un identificador de usuario (GUID). Solo se requiere si el token de autorización es un token de aplicación; De lo contrario, es opcional. El MS-APP-ACTS-AS encabezado está en desuso y ya no es necesario con tokens de aplicación. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON del objeto shift modificado.
En la tabla siguiente se enumeran las propiedades que puede usar al crear un objeto shift .
| Propiedad |
Tipo |
Descripción |
| draftShift |
shiftItem |
Borrador de cambios en el turno. Los cambios de borrador solo son visibles para los administradores. Los cambios son visibles para los empleados cuando se comparten, lo que copia los cambios de draftShift en la propiedad sharedShift . Eiher draShift o sharedShift deben ser null. |
| isStagedForDeletion |
Booleano |
El turno se marca para su eliminación, un proceso que se finaliza cuando se comparte la programación. Opcional. |
| schedulingGroupId |
Cadena |
Identificador del grupo de programación del que forma parte el turno . Obligatorio. |
| sharedShift |
shiftItem |
La versión compartida de este turno que pueden ver tanto los empleados como los administradores. Novedades a la propiedad sharedShift, envíe notificaciones a los usuarios del cliente de Teams. Eiher draShift o sharedShift deben ser null. |
| userId |
Cadena |
Identificador del usuario asignado al turno. Obligatorio. |
Respuesta
Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto shift en el cuerpo de la respuesta.
Ejemplo
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/v1.0/teams/{teamId}/schedule/shifts
Content-type: application/json
{
"userId": "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
"draftShift": {
"displayName": null,
"startDateTime": "2024-10-08T15:00:00Z",
"endDateTime": "2024-10-09T00:00:00Z",
"theme": "blue",
"notes": null,
"activities": []
},
"sharedShift": 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 Shift
{
UserId = "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
DraftShift = new ShiftItem
{
DisplayName = null,
StartDateTime = DateTimeOffset.Parse("2024-10-08T15:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2024-10-09T00:00:00Z"),
Theme = ScheduleEntityTheme.Blue,
Notes = null,
Activities = new List<ShiftActivity>
{
},
},
SharedShift = 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.Shifts.PostAsync(requestBody);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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.NewShift()
userId := "5ca83ce7-291d-43b7-bf53-af79eef4bc1d"
requestBody.SetUserId(&userId)
draftShift := graphmodels.NewShiftItem()
displayName := null
draftShift.SetDisplayName(&displayName)
startDateTime , err := time.Parse(time.RFC3339, "2024-10-08T15:00:00Z")
draftShift.SetStartDateTime(&startDateTime)
endDateTime , err := time.Parse(time.RFC3339, "2024-10-09T00:00:00Z")
draftShift.SetEndDateTime(&endDateTime)
theme := graphmodels.BLUE_SCHEDULEENTITYTHEME
draftShift.SetTheme(&theme)
notes := null
draftShift.SetNotes(¬es)
activities := []graphmodels.ShiftActivityable {
}
draftShift.SetActivities(activities)
requestBody.SetDraftShift(draftShift)
sharedShift := null
requestBody.SetSharedShift(&sharedShift)
isStagedForDeletion := false
requestBody.SetIsStagedForDeletion(&isStagedForDeletion)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
shifts, err := graphClient.Teams().ByTeamId("team-id").Schedule().Shifts().Post(context.Background(), requestBody, nil)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Shift shift = new Shift();
shift.setUserId("5ca83ce7-291d-43b7-bf53-af79eef4bc1d");
ShiftItem draftShift = new ShiftItem();
draftShift.setDisplayName(null);
OffsetDateTime startDateTime = OffsetDateTime.parse("2024-10-08T15:00:00Z");
draftShift.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2024-10-09T00:00:00Z");
draftShift.setEndDateTime(endDateTime);
draftShift.setTheme(ScheduleEntityTheme.Blue);
draftShift.setNotes(null);
LinkedList<ShiftActivity> activities = new LinkedList<ShiftActivity>();
draftShift.setActivities(activities);
shift.setDraftShift(draftShift);
shift.setSharedShift(null);
shift.setIsStagedForDeletion(false);
Shift result = graphClient.teams().byTeamId("{team-id}").schedule().shifts().post(shift);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const shift = {
userId: '5ca83ce7-291d-43b7-bf53-af79eef4bc1d',
draftShift: {
displayName: null,
startDateTime: '2024-10-08T15:00:00Z',
endDateTime: '2024-10-09T00:00:00Z',
theme: 'blue',
notes: null,
activities: []
},
sharedShift: null,
isStagedForDeletion: false
};
await client.api('/teams/{teamId}/schedule/shifts')
.post(shift);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Shift;
use Microsoft\Graph\Generated\Models\ShiftItem;
use Microsoft\Graph\Generated\Models\ScheduleEntityTheme;
use Microsoft\Graph\Generated\Models\ShiftActivity;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Shift();
$requestBody->setUserId('5ca83ce7-291d-43b7-bf53-af79eef4bc1d');
$draftShift = new ShiftItem();
$draftShift->setDisplayName(null);
$draftShift->setStartDateTime(new \DateTime('2024-10-08T15:00:00Z'));
$draftShift->setEndDateTime(new \DateTime('2024-10-09T00:00:00Z'));
$draftShift->setTheme(new ScheduleEntityTheme('blue'));
$draftShift->setNotes(null);
$draftShift->setActivities([ ]);
$requestBody->setDraftShift($draftShift);
$requestBody->setSharedShift(null);
$requestBody->setIsStagedForDeletion(false);
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->shifts()->post($requestBody)->wait();
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Import-Module Microsoft.Graph.Teams
$params = @{
userId = "5ca83ce7-291d-43b7-bf53-af79eef4bc1d"
draftShift = @{
displayName = $null
startDateTime = [System.DateTime]::Parse("2024-10-08T15:00:00Z")
endDateTime = [System.DateTime]::Parse("2024-10-09T00:00:00Z")
theme = "blue"
notes = $null
activities = @(
)
}
sharedShift = $null
isStagedForDeletion = $false
}
New-MgTeamScheduleShift -TeamId $teamId -BodyParameter $params
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.shift import Shift
from msgraph.generated.models.shift_item import ShiftItem
from msgraph.generated.models.schedule_entity_theme import ScheduleEntityTheme
from msgraph.generated.models.shift_activity import ShiftActivity
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Shift(
user_id = "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
draft_shift = ShiftItem(
display_name = None,
start_date_time = "2024-10-08T15:00:00Z",
end_date_time = "2024-10-09T00:00:00Z",
theme = ScheduleEntityTheme.Blue,
notes = None,
activities = [
],
),
shared_shift = None,
is_staged_for_deletion = False,
)
result = await graph_client.teams.by_team_id('team-id').schedule.shifts.post(request_body)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "SHFT_0f004eda-32a6-4f0c-a076-18f76d997a55",
"createdDateTime": "2024-11-08T23:49:13.877Z",
"lastModifiedDateTime": "2024-11-08T23:49:13.877Z",
"schedulingGroupId": "TAG_4ab7d329-1f7e-4eaf-ba93-63f1ff3f3c4a",
"userId": "5ca83ce7-291d-43b7-bf53-af79eef4bc1d",
"sharedShift": null,
"lastModifiedBy": {
"application": null,
"device": null,
"user": {
"id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
"displayName": "John Doe",
"userIdentityType": "aadUser",
"tenantId": null
}
},
"draftShift": {
"displayName": null,
"startDateTime": "2024-10-08T15:00:00Z",
"endDateTime": "2024-10-09T00:00:00Z",
"theme": "blue",
"notes": null,
"activities": []
},
"isStagedForDeletion": false
}