Я пытаюсь прочитать AppointmentItem.BusyStatus из общего календаря с ограниченным доступом.Я вижу BusyStatus весь день / неделю, но у меня нет доступа к такой информации, как тема или место встречи.
Мой код выглядит следующим образом:
СначалаЯ получаю папку, в которой хранятся общие календари.
oApp = new Outlook.Application();
mapiNamespace = oApp.GetNamespace("MAPI");
Outlook.Recipient oRep = mapiNamespace.CreateRecipient(oApp.Session.CurrentUser.Name);
calendarsFolder = mapiNamespace.GetSharedDefaultFolder(oRep, Outlook.OlDefaultFolders.olFolderCalendar).Folders;
На следующем шаге я перебираю все календари и элементы их встреч.
foreach(Outlook.Folder calendar in calendarsFolder){
Console.WriteLine(calendar.Name);
foreach(Outlook.AppointmentItem item in calendar.Items){
Console.WriteLine(item.Start.ToString("dd.MM.yyyy"));
Console.WriteLine(item.BusyStatus);
}
}
Этот код отлично работает в календаре, который дает мне полный контроль над прочтением любых деталей, которые могут быть у встречи.Это не работает в календаре с ограниченным доступом, хотя.После отладки своего кода я обнаружил, что список calendar.Items этого конкретного календаря пуст, его число равно 0 .Я предполагаю, что это связано с тем, что у меня нет необходимых полномочий для получения этой информации, так как я мог бы прочитать тему и местоположение, если бы получил пункты назначения.Однако это всего лишь предположение, и я, честно говоря, не совсем уверен, что происходит.Нужен ли мне совершенно другой подход или я что-то упускаю?Я был бы очень признателен, если бы кто-нибудь смог мне помочь.