0
votes

I want to update the MailboxSettings from different calendar.

How Can I build the Request that I can update the MailboxSetting via Microsoft Graph?

Here is my code example with the exception:

Code example with Exception

The code example:

User obj = GraphServiceClient.Users[roomCalendarId].Request().Select("MailboxSettings").GetAsync().Result;
WorkingHours mailboxSettingsWorkingHours = obj.MailboxSettings.WorkingHours;

TimeOfDay tOd = new TimeOfDay(start.Hour, start.Minute, start.Second);
mailboxSettingsWorkingHours.StartTime = tOd;
TimeOfDay tOdE = new TimeOfDay(end.Hour, end.Minute, end.Second);
mailboxSettingsWorkingHours.EndTime = tOdE;

GraphServiceClient.Users[roomCalendarId].Request().Select("MailboxSettings").UpdateAsync(obj).Wait();

Via Micrsoft Graph I get the MailboxSettings from a specific calendar, but when I want to update the MailboxSetting I get the Error Message

"The Request is currntly not supported on the targed entity set".

1
Please show the code you are currently using - Matt Evans
Welcome to Stack Overflow! I strongly recommend reading "How do I ask a good question?" for some tips on getting started. Please include the actual code sample in your question. Groking a screenshot and the inability to cut and paste into an editor to replicate it makes them rather painful to work with. - Marc LaFleur

1 Answers

1
votes

This is not currently supported by the SDK. You will need to make explicit http calls to achieve this.

Following is the code to update the timezone through mailbox settings:

Uri Uri = new Uri("https://graph.microsoft.com/v1.0/users/"+ user.Id 
          +"/mailboxSettings");
String jsonContent = "{\"timeZone\" : \""+ timezone +"\"}";
HttpContent httpContent = new StringContent(jsonContent, System.Text.Encoding.UTF8, "application/json");
await _httpClient.PatchAsync(Uri, httpContent);

You can use http://restsharp.org/ to make http calls easily.