2016-08-01 2 views
0

보기에서 속성을 설정했지만이 방법으로 코드를 작성할 때 ical의 uid를 검색 할 수 없습니다.교환 일정 관리 항목 가져 오기

static void GetCalendarItem(ExchangeService svc, string iCalUid) 
    { 
     var view = new ItemView(500); 
     var propSet = new PropertySet(BasePropertySet.IdOnly); 
     propSet.Add(ItemSchema.Subject); 
     propSet.Add(MeetingMessageSchema.ICalUid); 
     var items = svc.FindItems(WellKnownFolderName.Calendar, view); 
     foreach (var item in items) 
     { 
      var subject = item.Subject; 
      var guid = DefaultExtendedPropertySet.PublicStrings; 
      var epdUid = new ExtendedPropertyDefinition(guid, "UID", MapiPropertyType.Binary); 
      string uid = string.Empty; 
      var result = false; 
      if(item.TryGetProperty<string>(epdUid, out uid)) 
      { 
       result = true; 
      } 

      Console.WriteLine("Sub: {0}, Result: {1}", subject, result); 
     } 
    } 

나는 managed ews api 2.2를 사용하고 있습니다. 이 예에서 결과는 항상 false으로 인쇄됩니다.

답변

0

코드에 문제가 여러 개 있지만 속성 집합을 만들었지 만 Itemview에서 설정하지 않았습니다. 확장 속성은 확장 속성이 정의에 포함되어 있지 않고 모든 EWS 작업에로드하지 않은 경우에만 올바르지 않습니다. 따라서 어떤 값도 표시하지 않습니다.

static void GetCalendarItem(ExchangeService svc, string iCalUid) 
{ 
    var view = new ItemView(500); 
    var propSet = new PropertySet(BasePropertySet.IdOnly); 
    propSet.Add(ItemSchema.Subject); 
    propSet.Add(MeetingMessageSchema.ICalUid); 
    view.PropertySet = propSet; 
    var items = svc.FindItems(WellKnownFolderName.Calendar, view); 
    foreach (var item in items) 
    { 
     var subject = item.Subject; 
     var result = item.ICalUid; 


     Console.WriteLine("Sub: {0}, Result: {1}", subject, result); 
    } 
} 
+0

는'item'이 속성'ICalUid' – deostroll

+0

나타내고 itemtype를 확인하고 필요한 경우 약속에 캐스트가없는 것처럼 당신 코드가 보일 것입니다 –