Atualizar shiftPreferences
-
Artigo
-
- 3 minutos para o fim da leitura
-
Namespace: microsoft.graph
Atualize as propriedades e as relações de um objeto shiftPreferences.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
| Tipo de permissão |
Permissões (da com menos para a com mais privilégios) |
| Delegado (conta corporativa ou de estudante) |
User.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
| Aplicativo |
UserShiftPreferences.ReadWrite.All |
Observação: esta API oferece transporte a permissões de administrador. Os administradores globais podem acessar grupos dos que não são membros.
Solicitação HTTP
PATCH /users/{userId}/settings/shiftPreferences
| Cabeçalho |
Valor |
| Autorização |
{token} de portador. Obrigatório. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, fornece uma representação JSON de um objeto shiftPreferences.
Resposta
Se tiver êxito, este método retornará um código de resposta 204 NO CONTENT.
Exemplo
Solicitação
Este é um exemplo de solicitação.
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
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var shiftPreferences = 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<DayOfWeek>()
{
DayOfWeek.Monday,
DayOfWeek.Wednesday,
DayOfWeek.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"}
}
};
await graphClient.Users["{user-id}"].Settings.ShiftPreferences
.Request()
.UpdateAsync(shiftPreferences);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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 obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/users/871dbd5c-3a6a-4392-bfe1-042452793a50/settings/shiftPreferences"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphShiftPreferences *shiftPreferences = [[MSGraphShiftPreferences alloc] init];
[shiftPreferences setId:@"SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7"];
NSMutableArray *availabilityList = [[NSMutableArray alloc] init];
MSGraphShiftAvailability *availability = [[MSGraphShiftAvailability alloc] init];
MSGraphPatternedRecurrence *recurrence = [[MSGraphPatternedRecurrence alloc] init];
MSGraphRecurrencePattern *pattern = [[MSGraphRecurrencePattern alloc] init];
[pattern setType: [MSGraphRecurrencePatternType weekly]];
NSMutableArray *daysOfWeekList = [[NSMutableArray alloc] init];
[daysOfWeekList addObject: @"Monday"];
[daysOfWeekList addObject: @"Wednesday"];
[daysOfWeekList addObject: @"Friday"];
[pattern setDaysOfWeek:daysOfWeekList];
[pattern setInterval: 1];
[recurrence setPattern:pattern];
MSGraphRecurrenceRange *range = [[MSGraphRecurrenceRange alloc] init];
[range setType: [MSGraphRecurrenceRangeType noEnd]];
[recurrence setRange:range];
[availability setRecurrence:recurrence];
[availability setTimeZone:@"Pacific Standard Time"];
[availability setTimeSlots: null];
[availabilityList addObject: availability];
[shiftPreferences setAvailability:availabilityList];
NSError *error;
NSData *shiftPreferencesData = [shiftPreferences getSerializedDataWithError:&error];
[urlRequest setHTTPBody:shiftPreferencesData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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 obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewShiftPreferences()
id := "SHPR_eeab4fb1-20e5-48ca-ad9b-98119d94bee7"
requestBody.SetId(&id)
requestBody.SetAvailability( []ShiftAvailability {
msgraphsdk.NewShiftAvailability(),
recurrence := msgraphsdk.NewPatternedRecurrence()
SetRecurrence(recurrence)
pattern := msgraphsdk.NewRecurrencePattern()
recurrence.SetPattern(pattern)
type := "Weekly"
pattern.SetType(&type)
pattern.SetDaysOfWeek( []DayOfWeek {
"Monday",
"Wednesday",
"Friday",
}
interval := int32(1)
pattern.SetInterval(&interval)
range := msgraphsdk.NewRecurrenceRange()
recurrence.SetRange(range)
type := "noEnd"
range.SetType(&type)
timeZone := "Pacific Standard Time"
SetTimeZone(&timeZone)
SetTimeSlots(nil)
}
requestBody.SetAdditionalData(map[string]interface{}{
"@odata.etag": "1a371e53-f0a6-4327-a1ee-e3c56e4b38aa",
}
userId := "user-id"
graphClient.UsersById(&userId).Settings().ShiftPreferences().Patch(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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 obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK.
Resposta
Este é um exemplo de resposta.
HTTP/1.1 204 NO CONTENT