Atualizar as configurações de caixa de correio do usuário
Artigo
09/13/2021
8 minutos para o fim da leitura
2 colaboradores
Neste artigo
Namespace: microsoft.graph
Habilitar, configurar ou desabilitar uma ou mais das seguintes configurações como parte das caixas de correio de um usuárioConfigurações :
Ao atualizar o formato de data ou hora preferencial para um usuário, especifique-o, respectivamente, no formato de data curta ou de curto período.
Ao atualizar o fuso horário preferencial para um usuário, especifique-o no formato de fuso horário Windows internet ou IANA (também conhecido como fuso horário Olson). Você também pode personalizar ainda mais o fuso horário, conforme mostrado no exemplo 2 abaixo.
Dica
Não é possível criar ou excluir configurações de caixa de correio.
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)
Delegada (conta corporativa ou de estudante)
MailboxSettings.ReadWrite
Delegado (conta pessoal da Microsoft)
MailboxSettings.ReadWrite
Aplicativo
MailboxSettings.ReadWrite
Solicitação HTTP
PATCH /me/mailboxSettings
PATCH /users/{id|userPrincipalName}/mailboxSettings
Parâmetros de consulta opcionais
Este método dá suporte a Parâmetros de consulta OData para ajudar a personalizar a resposta.
Nome
Tipo
Descrição
Autorização
string
{token} de portador. Obrigatório.
Corpo da solicitação
No corpo da solicitação, forneça os valores para as propriedades relevantes que devem ser atualizadas. Propriedades existentes que não estão incluídas no corpo da solicitação terão seus valores anteriores mantidos ou serão recalculadas com base nas alterações em outros valores de propriedade. Para obter o melhor desempenho, não inclua valores existentes que não foram alterados. Estas são as propriedades graváveis/atualizáveis:
Propriedade
Tipo
Descrição
automaticRepliesSetting
automaticRepliesSetting
Definições de configuração para notificar automaticamente o remetente de um email recebido com uma mensagem do usuário conectado. Você pode definir essas notificações apenas para um intervalo de datas futuro.
dateFormat
cadeia de caracteres
O formato de data para a caixa de correio do usuário.
delegateMeetingMessageDeliveryOptions
delegateMeetingMessageDeliveryOptions
Se o usuário tiver um representante de calendário, isso especifica se o representante, o proprietário da caixa de correio ou ambos recebem mensagens de reunião e respostas de reunião. Os valores possíveis são: sendToDelegateAndInformationToPrincipal, sendToDelegateAndPrincipal, sendToDelegateOnly.
idioma
localeInfo
Informações sobre a localidade do usuário, incluindo o idioma preferencial e o país/região.
timeFormat
cadeia de caracteres
O formato de hora da caixa de correio do usuário.
timeZone
string
O fuso horário padrão para a caixa de correio do usuário.
workingHours
workingHours
As horas, os dias de uma semana e o fuso horário em que o usuário trabalha.
Resposta
Se tiver êxito, este método retornará um código de resposta e as propriedades 200 OK atualizadas de um objeto mailboxSettings no corpo da resposta.
Erros
Definir horas de trabalho com valores inadequados pode retornar os seguintes erros.
Cenário
Código de status de HTTP
Código de erro
Mensagem de erro
startTime ou endTime inválido
400
RequestBodyRead
Não é possível converter o literal '08"para o tipo 'Edm.TimeOfDay' esperado.
A hora de início é maior do que a hora de término
400
ErrorInvalidTimeSettings
A Hora de Início deve ocorrer antes da Hora de Término.
Dia inválido em daysOfWeek
400
InvalidArguments
O valor solicitada "RandomDay" não foi encontrado.
timeZone inválido
400
InvalidTimeZone
As configurações de Fuso Horário fornecidas são inválidas.
Exemplos
Exemplo 1
Solicitação
O primeiro exemplo habilita as respostas automáticas de um intervalo de datas, definindo as seguintes propriedades da propriedade automaticRepliesSetting : status , scheduledStartDateTime e scheduledEndDateTime .
PATCH https://graph.microsoft.com/v1.0/me/mailboxSettings
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings",
"automaticRepliesSetting": {
"status": "Scheduled",
"scheduledStartDateTime": {
"dateTime": "2016-03-20T18:00:00.0000000",
"timeZone": "UTC"
},
"scheduledEndDateTime": {
"dateTime": "2016-03-28T18:00:00.0000000",
"timeZone": "UTC"
}
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var mailboxSettings = new MailboxSettings
{
AutomaticRepliesSetting = new AutomaticRepliesSetting
{
Status = AutomaticRepliesStatus.Scheduled,
ScheduledStartDateTime = new DateTimeTimeZone
{
DateTime = "2016-03-20T18:00:00",
TimeZone = "UTC"
},
ScheduledEndDateTime = new DateTimeTimeZone
{
DateTime = "2016-03-28T18:00:00",
TimeZone = "UTC"
}
},
AdditionalData = new Dictionary<string, object>()
{
{"@odata.context", "https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings"}
}
};
var me = new User();
me.MailboxSettings = mailboxSettings;
await graphClient.Me
.Request()
.UpdateAsync(me);
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 mailboxSettings = {
'@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings',
automaticRepliesSetting: {
status: 'Scheduled',
scheduledStartDateTime: {
dateTime: '2016-03-20T18:00:00.0000000',
timeZone: 'UTC'
},
scheduledEndDateTime: {
dateTime: '2016-03-28T18:00:00.0000000',
timeZone: 'UTC'
}
}
};
await client.api('/me/mailboxSettings')
.update(mailboxSettings);
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:@"/me/mailboxSettings"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphMailboxSettings *mailboxSettings = [[MSGraphMailboxSettings alloc] init];
MSGraphAutomaticRepliesSetting *automaticRepliesSetting = [[MSGraphAutomaticRepliesSetting alloc] init];
[automaticRepliesSetting setStatus: [MSGraphAutomaticRepliesStatus scheduled]];
MSGraphDateTimeTimeZone *scheduledStartDateTime = [[MSGraphDateTimeTimeZone alloc] init];
[scheduledStartDateTime setDateTime: "2016-03-20T18:00:00"];
[scheduledStartDateTime setTimeZone:@"UTC"];
[automaticRepliesSetting setScheduledStartDateTime:scheduledStartDateTime];
MSGraphDateTimeTimeZone *scheduledEndDateTime = [[MSGraphDateTimeTimeZone alloc] init];
[scheduledEndDateTime setDateTime: "2016-03-28T18:00:00"];
[scheduledEndDateTime setTimeZone:@"UTC"];
[automaticRepliesSetting setScheduledEndDateTime:scheduledEndDateTime];
[mailboxSettings setAutomaticRepliesSetting:automaticRepliesSetting];
NSError *error;
NSData *mailboxSettingsData = [mailboxSettings getSerializedDataWithError:&error];
[urlRequest setHTTPBody:mailboxSettingsData];
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();
MailboxSettings mailboxSettings = new MailboxSettings();
mailboxSettings.additionalDataManager().put("@odata.context", new JsonPrimitive("https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings"));
AutomaticRepliesSetting automaticRepliesSetting = new AutomaticRepliesSetting();
automaticRepliesSetting.status = AutomaticRepliesStatus.SCHEDULED;
DateTimeTimeZone scheduledStartDateTime = new DateTimeTimeZone();
scheduledStartDateTime.dateTime = "2016-03-20T18:00:00";
scheduledStartDateTime.timeZone = "UTC";
automaticRepliesSetting.scheduledStartDateTime = scheduledStartDateTime;
DateTimeTimeZone scheduledEndDateTime = new DateTimeTimeZone();
scheduledEndDateTime.dateTime = "2016-03-28T18:00:00";
scheduledEndDateTime.timeZone = "UTC";
automaticRepliesSetting.scheduledEndDateTime = scheduledEndDateTime;
mailboxSettings.automaticRepliesSetting = automaticRepliesSetting;
graphClient.customRequest("/me/mailboxSettings", MailboxSettings.class)
.buildRequest()
.patch(mailboxSettings);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
A resposta inclui apenas as configurações atualizadas de respostas automáticas. Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings",
"automaticRepliesSetting": {
"status": "scheduled",
"externalAudience": "all",
"scheduledStartDateTime": {
"dateTime": "2016-03-20T02:00:00.0000000",
"timeZone": "UTC"
},
"scheduledEndDateTime": {
"dateTime": "2016-03-28T02:00:00.0000000",
"timeZone": "UTC"
},
"internalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"externalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}
}
Exemplo 2
Solicitação
O segundo exemplo personaliza o fuso horário das horas de trabalho do usuário conectado definindo a propriedade timeZone para um fuso horário personalizado .
PATCH https://graph.microsoft.com/v1.0/me/mailboxSettings
Content-Type: application/json
{
"workingHours": {
"endTime" : "18:30:00.0000000",
"daysOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"timeZone" : {
"@odata.type": "#microsoft.graph.customTimeZone",
"bias":-300,
"name": "Customized Time Zone",
"standardOffset":{
"time":"02:00:00.0000000",
"dayOccurrence":2,
"dayOfWeek":"Sunday",
"month":10,
"year":0
},
"daylightOffset":{
"daylightBias":100,
"time":"02:00:00.0000000",
"dayOccurrence":4,
"dayOfWeek":"Sunday",
"month":5,
"year":0
}
}
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var mailboxSettings = new MailboxSettings
{
WorkingHours = new WorkingHours
{
EndTime = new TimeOfDay(18, 30, 0),
DaysOfWeek = new List<DayOfWeek>()
{
DayOfWeek.Monday,
DayOfWeek.Tuesday,
DayOfWeek.Wednesday,
DayOfWeek.Thursday,
DayOfWeek.Friday,
DayOfWeek.Saturday
},
TimeZone = new CustomTimeZone
{
Bias = -300,
Name = "Customized Time Zone",
StandardOffset = new StandardTimeZoneOffset
{
Time = new TimeOfDay(2, 0, 0),
DayOccurrence = 2,
DayOfWeek = DayOfWeek.Sunday,
Month = 10,
Year = 0
},
DaylightOffset = new DaylightTimeZoneOffset
{
DaylightBias = 100,
Time = new TimeOfDay(2, 0, 0),
DayOccurrence = 4,
DayOfWeek = DayOfWeek.Sunday,
Month = 5,
Year = 0
}
}
}
};
var me = new User();
me.MailboxSettings = mailboxSettings;
await graphClient.Me
.Request()
.UpdateAsync(me);
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 mailboxSettings = {
workingHours: {
endTime: '18:30:00.0000000',
daysOfWeek: [
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
],
timeZone: {
'@odata.type': '#microsoft.graph.customTimeZone',
bias: -300,
name: 'Customized Time Zone',
standardOffset: {
time: '02:00:00.0000000',
dayOccurrence: 2,
dayOfWeek: 'Sunday',
month: 10,
year: 0
},
daylightOffset: {
daylightBias: 100,
time: '02:00:00.0000000',
dayOccurrence: 4,
dayOfWeek: 'Sunday',
month: 5,
year: 0
}
}
}
};
await client.api('/me/mailboxSettings')
.update(mailboxSettings);
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:@"/me/mailboxSettings"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphMailboxSettings *mailboxSettings = [[MSGraphMailboxSettings alloc] init];
MSGraphWorkingHours *workingHours = [[MSGraphWorkingHours alloc] init];
[workingHours setEndTime:@"18:30:00.0000000"];
NSMutableArray *daysOfWeekList = [[NSMutableArray alloc] init];
[daysOfWeekList addObject: @"Monday"];
[daysOfWeekList addObject: @"Tuesday"];
[daysOfWeekList addObject: @"Wednesday"];
[daysOfWeekList addObject: @"Thursday"];
[daysOfWeekList addObject: @"Friday"];
[daysOfWeekList addObject: @"Saturday"];
[workingHours setDaysOfWeek:daysOfWeekList];
MSGraphTimeZoneBase *timeZone = [[MSGraphTimeZoneBase alloc] init];
[timeZone setBias: -300];
[timeZone setName:@"Customized Time Zone"];
MSGraphStandardTimeZoneOffset *standardOffset = [[MSGraphStandardTimeZoneOffset alloc] init];
[standardOffset setTime:@"02:00:00.0000000"];
[standardOffset setDayOccurrence: 2];
[standardOffset setDayOfWeek: [MSGraphDayOfWeek sunday]];
[standardOffset setMonth: 10];
[standardOffset setYear: 0];
[timeZone setStandardOffset:standardOffset];
MSGraphDaylightTimeZoneOffset *daylightOffset = [[MSGraphDaylightTimeZoneOffset alloc] init];
[daylightOffset setDaylightBias: 100];
[daylightOffset setTime:@"02:00:00.0000000"];
[daylightOffset setDayOccurrence: 4];
[daylightOffset setDayOfWeek: [MSGraphDayOfWeek sunday]];
[daylightOffset setMonth: 5];
[daylightOffset setYear: 0];
[timeZone setDaylightOffset:daylightOffset];
[workingHours setTimeZone:timeZone];
[mailboxSettings setWorkingHours:workingHours];
NSError *error;
NSData *mailboxSettingsData = [mailboxSettings getSerializedDataWithError:&error];
[urlRequest setHTTPBody:mailboxSettingsData];
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();
MailboxSettings mailboxSettings = new MailboxSettings();
WorkingHours workingHours = new WorkingHours();
workingHours.endTime = new TimeOfDay(0, 0, 0);
LinkedList<DayOfWeek> daysOfWeekList = new LinkedList<DayOfWeek>();
daysOfWeekList.add(DayOfWeek.MONDAY);
daysOfWeekList.add(DayOfWeek.TUESDAY);
daysOfWeekList.add(DayOfWeek.WEDNESDAY);
daysOfWeekList.add(DayOfWeek.THURSDAY);
daysOfWeekList.add(DayOfWeek.FRIDAY);
daysOfWeekList.add(DayOfWeek.SATURDAY);
workingHours.daysOfWeek = daysOfWeekList;
CustomTimeZone timeZone = new CustomTimeZone();
timeZone.bias = -300;
timeZone.name = "Customized Time Zone";
StandardTimeZoneOffset standardOffset = new StandardTimeZoneOffset();
standardOffset.time = new TimeOfDay(0, 0, 0);
standardOffset.dayOccurrence = 2;
standardOffset.dayOfWeek = DayOfWeek.SUNDAY;
standardOffset.month = 10;
standardOffset.year = 0;
timeZone.standardOffset = standardOffset;
DaylightTimeZoneOffset daylightOffset = new DaylightTimeZoneOffset();
daylightOffset.daylightBias = 100;
daylightOffset.time = new TimeOfDay(0, 0, 0);
daylightOffset.dayOccurrence = 4;
daylightOffset.dayOfWeek = DayOfWeek.SUNDAY;
daylightOffset.month = 5;
daylightOffset.year = 0;
timeZone.daylightOffset = daylightOffset;
workingHours.timeZone = timeZone;
mailboxSettings.workingHours = workingHours;
graphClient.customRequest("/me/mailboxSettings", MailboxSettings.class)
.buildRequest()
.patch(mailboxSettings);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Aqui está um exemplo da resposta. Observação: o objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('94447c6e-ea4c-494c-a9ed-d905e366c5cb')/mailboxSettings",
"workingHours":{
"daysOfWeek":[
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
],
"startTime":"09:00:00.0000000",
"endTime":"18:30:00.0000000",
"timeZone":{
"@odata.type":"#microsoft.graph.customTimeZone",
"bias":-200,
"name":"Customized Time Zone",
"standardOffset":{
"time":"02:00:00.0000000",
"dayOccurrence":4,
"dayOfWeek":"sunday",
"month":5,
"year":0
},
"daylightOffset":{
"daylightBias":-100,
"time":"02:00:00.0000000",
"dayOccurrence":2,
"dayOfWeek":"sunday",
"month":10,
"year":0
}
}
}
}