I'm doing some code that book meeting rooms integrated with Outlook Office 365. I'm using Microsoft Graph to do that and my solution requires some extended properties that are used in many functionalities.
My problem is: When I update the extended properties of some event in the owner's calendar, the change doesn't propagate to the room copy of the event. The extended property is propagated only when the room needs to accept the event again (e.g. start date changes).
Piece of code I'm using to update event:
Event toUpdate = new Event
{
Id = eventData.EventId,
SingleValueExtendedProperties = new EventSingleValueExtendedPropertiesCollectionPage()
{
new SingleValueLegacyExtendedProperty
{
Id = "String {00020329-0000-0000-c000-000000000046} Name SkipBookingCancellation",
Value = "True"
},
}
};
await calendarService
.Users[calendar.Email]
.Calendar
.Events[toUpdate.Id]
.Request()
.UpdateAsync(toUpdate);
It's kinda strange because when I create the event in the owner's calendar, it is propagated through rooms correctly, but when I update the extended property, it works on the original event but it doesn't affect the room's copy (unless the room needs to accept the event again).
Perhaps Graph is missing that old functionality of EWS that informs to the update method to force sending the invitations again, SendInvitationsOrCancellationsMode.SendToAllAndSaveCopy.
来源:https://stackoverflow.com/questions/57117970/singlevalueextendedproperty-is-propagated-only-when-room-accept-the-event