Actualizar mayúsReferencias
Artículo
03/26/2023
7 colaboradores
Comentarios
En este artículo
Espacio de nombres: microsoft.graph
Actualice las propiedades y relaciones de un objeto shiftPreferences .
Permisos
Se requiere uno de los permisos siguientes para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos .
Tipo de permiso
Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa)
User.ReadWrite.All
Delegado (cuenta personal de Microsoft)
No admitida.
Aplicación
UserShiftPreferences.ReadWrite.All
Nota : esta API admite permisos de administrador. Los administradores globales pueden acceder a los grupos de los que no son miembros.
Solicitud HTTP
PATCH /users/{userId}/settings/shiftPreferences
Encabezado
Valor
Authorization
Portador {token}. Obligatorio.
Content-Type
application/json. Obligatorio.
Cuerpo de solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto shiftPreferences .
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 204 NO CONTENT
.
Ejemplo
Solicitud
Aquí tiene un ejemplo de la solicitud.
PATCH https://graph.microsoft.com/v1.0/users/871dbd5c-3a6a-4392-bfe1-042452793a50/settings/shiftPreferences
Content-type: application/json
{
"id": "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7",
"@odata.etag": "1a371e53-f0a6-4327-a1ee-e3c56e4b38aa",
"availability": [
{
"recurrence": {
"pattern": {
"type": "Weekly",
"daysOfWeek": ["Monday", "Wednesday", "Friday"],
"interval": 1
},
"range": {
"type": "noEnd"
}
},
"timeZone": "Pacific Standard Time",
"timeSlots": null
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new ShiftPreferences
{
Id = "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7",
Availability = new List<ShiftAvailability>
{
new ShiftAvailability
{
Recurrence = new PatternedRecurrence
{
Pattern = new RecurrencePattern
{
Type = RecurrencePatternType.Weekly,
DaysOfWeek = new List<DayOfWeekObject?>
{
DayOfWeekObject.Monday,
DayOfWeekObject.Wednesday,
DayOfWeekObject.Friday,
},
Interval = 1,
},
Range = new RecurrenceRange
{
Type = RecurrenceRangeType.NoEnd,
},
},
TimeZone = "Pacific Standard Time",
TimeSlots = null,
},
},
AdditionalData = new Dictionary<string, object>
{
{
"@odata.etag" , "1a371e53-f0a6-4327-a1ee-e3c56e4b38aa"
},
},
};
var result = await graphClient.Users["{user-id}"].Settings.ShiftPreferences.PatchAsync(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 .
const options = {
authProvider,
};
const client = Client.init(options);
const shiftPreferences = {
id: 'SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7',
'@odata.etag': '1a371e53-f0a6-4327-a1ee-e3c56e4b38aa',
availability: [
{
recurrence: {
pattern: {
type: 'Weekly',
daysOfWeek: ['Monday', 'Wednesday', 'Friday'],
interval: 1
},
range: {
type: 'noEnd'
}
},
timeZone: 'Pacific Standard Time',
timeSlots: null
}
]
};
await client.api('/users/871dbd5c-3a6a-4392-bfe1-042452793a50/settings/shiftPreferences')
.update(shiftPreferences);
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 .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
ShiftPreferences shiftPreferences = new ShiftPreferences();
shiftPreferences.id = "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7";
shiftPreferences.additionalDataManager().put("@odata.etag", new JsonPrimitive("1a371e53-f0a6-4327-a1ee-e3c56e4b38aa"));
LinkedList<ShiftAvailability> availabilityList = new LinkedList<ShiftAvailability>();
ShiftAvailability availability = new ShiftAvailability();
PatternedRecurrence recurrence = new PatternedRecurrence();
RecurrencePattern pattern = new RecurrencePattern();
pattern.type = RecurrencePatternType.WEEKLY;
LinkedList<DayOfWeek> daysOfWeekList = new LinkedList<DayOfWeek>();
daysOfWeekList.add(DayOfWeek.MONDAY);
daysOfWeekList.add(DayOfWeek.WEDNESDAY);
daysOfWeekList.add(DayOfWeek.FRIDAY);
pattern.daysOfWeek = daysOfWeekList;
pattern.interval = 1;
recurrence.pattern = pattern;
RecurrenceRange range = new RecurrenceRange();
range.type = RecurrenceRangeType.NO_END;
recurrence.range = range;
availability.recurrence = recurrence;
availability.timeZone = "Pacific Standard Time";
availability.timeSlots = null;
availabilityList.add(availability);
shiftPreferences.availability = availabilityList;
graphClient.users("871dbd5c-3a6a-4392-bfe1-042452793a50").settings().shiftPreferences()
.buildRequest()
.patch(shiftPreferences);
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 (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
graphClient, err := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewShiftPreferences()
id := "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7"
requestBody.SetId(&id)
shiftAvailability := graphmodels.NewShiftAvailability()
recurrence := graphmodels.NewPatternedRecurrence()
pattern := graphmodels.NewRecurrencePattern()
type := graphmodels.WEEKLY_RECURRENCEPATTERNTYPE
pattern.SetType(&type)
daysOfWeek := []graphmodels.DayOfWeekable {
dayOfWeek := graphmodels.MONDAY_DAYOFWEEK
pattern.SetDayOfWeek(&dayOfWeek)
dayOfWeek := graphmodels.WEDNESDAY_DAYOFWEEK
pattern.SetDayOfWeek(&dayOfWeek)
dayOfWeek := graphmodels.FRIDAY_DAYOFWEEK
pattern.SetDayOfWeek(&dayOfWeek)
}
pattern.SetDaysOfWeek(daysOfWeek)
interval := int32(1)
pattern.SetInterval(&interval)
recurrence.SetPattern(pattern)
range := graphmodels.NewRecurrenceRange()
type := graphmodels.NOEND_RECURRENCERANGETYPE
range.SetType(&type)
recurrence.SetRange(range)
shiftAvailability.SetRecurrence(recurrence)
timeZone := "Pacific Standard Time"
shiftAvailability.SetTimeZone(&timeZone)
timeSlots := null
shiftAvailability.SetTimeSlots(&timeSlots)
availability := []graphmodels.ShiftAvailabilityable {
shiftAvailability,
}
requestBody.SetAvailability(availability)
additionalData := map[string]interface{}{
"odataEtag" : "1a371e53-f0a6-4327-a1ee-e3c56e4b38aa",
}
requestBody.SetAdditionalData(additionalData)
result, err := graphClient.Users().ByUserId("user-id").Settings().ShiftPreferences().Patch(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 .
Import-Module Microsoft.Graph.Users
$params = @{
id = "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7"
"@odata.etag" = "1a371e53-f0a6-4327-a1ee-e3c56e4b38aa"
availability = @(
@{
recurrence = @{
pattern = @{
type = "Weekly"
daysOfWeek = @(
"Monday"
"Wednesday"
"Friday"
)
interval = 1
}
range = @{
type = "noEnd"
}
}
timeZone = "Pacific Standard Time"
timeSlots = $null
}
)
}
Update-MgUserSettingShiftPreference -UserId $userId -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 .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new ShiftPreferences();
$requestBody->setId('SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7');
$availabilityShiftAvailability1 = new ShiftAvailability();
$availabilityShiftAvailability1Recurrence = new PatternedRecurrence();
$availabilityShiftAvailability1RecurrencePattern = new RecurrencePattern();
$availabilityShiftAvailability1RecurrencePattern->setType(new RecurrencePatternType('weekly'));
$availabilityShiftAvailability1RecurrencePattern->setDaysOfWeek([$availabilityShiftAvailability1RecurrencePattern->setDayOfWeek(new DayOfWeek('monday'));
$availabilityShiftAvailability1RecurrencePattern->setDayOfWeek(new DayOfWeek('wednesday'));
$availabilityShiftAvailability1RecurrencePattern->setDayOfWeek(new DayOfWeek('friday'));
]);
$availabilityShiftAvailability1RecurrencePattern->setInterval(1);
$availabilityShiftAvailability1Recurrence->setPattern($availabilityShiftAvailability1RecurrencePattern);
$availabilityShiftAvailability1RecurrenceRange = new RecurrenceRange();
$availabilityShiftAvailability1RecurrenceRange->setType(new RecurrenceRangeType('noend'));
$availabilityShiftAvailability1Recurrence->setRange($availabilityShiftAvailability1RecurrenceRange);
$availabilityShiftAvailability1->setRecurrence($availabilityShiftAvailability1Recurrence);
$availabilityShiftAvailability1->setTimeZone('Pacific Standard Time');
$availabilityShiftAvailability1->setTimeSlots(null);
$availabilityArray []= $availabilityShiftAvailability1;
$requestBody->setAvailability($availabilityArray);
$additionalData = [
'@odata.etag' => '1a371e53-f0a6-4327-a1ee-e3c56e4b38aa',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->users()->byUserId('user-id')->settings()->shiftPreferences()->patch($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 .
// THE PYTHON SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
client = GraphServiceClient(request_adapter)
request_body = ShiftPreferences()
request_body.id = 'SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7'
availability_shift_availability1 = ShiftAvailability()
availability_shift_availability1recurrence = PatternedRecurrence()
availability_shift_availability1recurrencepattern = RecurrencePattern()
availability_shift_availability1recurrencepattern.type(RecurrencePatternType.Weekly('recurrencepatterntype.weekly'))
availability_shift_availability1recurrencepattern.DaysOfWeek([availability_shift_availability1recurrencepattern.dayofweek(DayOfWeek.Monday('dayofweek.monday'))
availability_shift_availability1recurrencepattern.dayofweek(DayOfWeek.Wednesday('dayofweek.wednesday'))
availability_shift_availability1recurrencepattern.dayofweek(DayOfWeek.Friday('dayofweek.friday'))
])
availability_shift_availability1recurrencepattern.Interval = 1
availability_shift_availability1recurrence.pattern = availability_shift_availability1recurrencepattern
availability_shift_availability1recurrencerange = RecurrenceRange()
availability_shift_availability1recurrencerange.type(RecurrenceRangeType.NoEnd('recurrencerangetype.noend'))
availability_shift_availability1recurrence.range = availability_shift_availability1recurrencerange
availability_shift_availability1.recurrence = availability_shift_availability1recurrence
availability_shift_availability1.time_zone = 'Pacific Standard Time'
availability_shift_availability1.timeSlots=null
availabilityArray []= availabilityShiftAvailability1;
request_body.availability(availabilityArray)
additional_data = [
'@odata_etag' => '1a371e53-f0a6-4327-a1ee-e3c56e4b38aa',
];
request_body.additional_data(additional_data)
result = await client.users.by_user_id('user-id').settings.shift_preferences.patch(request_body = 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
Este es un ejemplo de la respuesta.
HTTP/1.1 204 NO CONTENT