SyncFolderItems
only returns the necessary information to reconstruct a recurring serie but does not expand the individual occurrences. If you need expanded occurrences you need to use the FindItems
method.
However, even assuming you can expand the recurrence yourself, SyncFolderItems
alone does not provide all the necessary information.
SyncFolderItems
will return a list of events with Single
or RecurringMaster
AppointmentType. A RecurringMaster event contains the ModifiedOccurrences
and DeletedOccurrences
properties. Unfortunately the items in ModifiedOccurrences
only contains the ItemId, not the Item itself. It seems necessary to solve all exception separately to get the fields of modified occurrences. From the documentation:
Each OccurrenceInfo object in the ModifiedOccurrences collection
contains four properties: End, ItemId, OriginalStart, and Start. To
access additional properties on the exception item, you must bind to
the item by using the OccurrenceInfo.ItemId.
foreach (OccurrenceInfo item in recurringMasterItem.ModifiedOccurrences)
{
Appointment modifiedItem = Appointment.Bind(service, item.ItemId);
Console.WriteLine("Subject: " + modifiedItem.Subject);
}
In other words, with the data you get from SyncFolderItem
you can expand a recurrence, including time exceptions and deleted occurrences but you would have to resolve exceptions on other fields (ie. summary, body, location. etc) with additional .Bind()
calls.