c# - Getting the uid of exchange calendar item -


although i've set property on view, cannot retrieve ical's uid when write code way.

    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);         }     } 

i using managed ews api 2.2. in example result printed false.

you have multiple issue code, have created property set haven't set on itemview. extendedproperty isn't correct unless have own extended property definition , haven't loaded in ews operations won't ever show value. code should like

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);     } } 

Comments