SyncFolderItems
возвращает только необходимую информацию для восстановления повторяющейся серии, но не расширяет отдельные случаи.Если вам нужны расширенные вхождения, вам нужно использовать метод FindItems
.
Однако, даже если вы можете расширить повторение самостоятельно, только SyncFolderItems
не предоставляет всю необходимую информацию.
SyncFolderItems
вернет список событий с Single
или RecurringMaster
AppointmentType.Событие RecurringMaster содержит свойства ModifiedOccurrences
и DeletedOccurrences
.К сожалению, элементы в ModifiedOccurrences
содержат только ItemId, но не сам Item.Кажется необходимым решить все исключения отдельно, чтобы получить поля измененных вхождений.Из документации :
Каждый объект OccurrenceInfo в коллекции ModifiedOccurrence содержит четыре свойства: End , ItemId , OriginalStart и Start .Чтобы получить доступ к дополнительным свойствам элемента исключения, необходимо связать элемент с помощью OccurrenceInfo.ItemId .
foreach (OccurrenceInfo item in recurringMasterItem.ModifiedOccurrences)
{
Appointment modifiedItem = Appointment.Bind(service, item.ItemId);
Console.WriteLine("Subject: " + modifiedItem.Subject);
}
Другими словами, с данными, полученными изSyncFolderItem
вы можете расширить повторение, включая исключения времени и удаленные вхождения, но вам придется разрешать исключения в других полях (например, сводка, тело, местоположение и т. Д.) С помощью дополнительных вызовов .Bind()
.