EWS Items
Items
Items are the actual content of the folders, you might compare them to records in a table. As with records for different tables, items do have different properties based on what type of record they contain (aka, what table they are).
As Exchange (sensibly) works with class oriented approach to everything they store, there is a base Item class, from wich all other item types are derived (calendar, notes, contacts, etc.).
Thus all items have a set of common properties available in all items.
The documentation concerning items and their properties is quite complete but lacks one crucial bit of information:
What is required, and what is optional?
As far as I can see it, the following field are always required:
- ItemId
Contains the unique identifier and change key of an item in the Exchange store. This property is read-only. - ParentFolderId
Represents the identifier of the parent folder that contains the item or folder. This property is read-only. - ItemClass
Represents the message class of an item.
All the other properties are a bit more difficult to ascertain, but mostly they seem to be optional.
Example structure of generic EWS item
<Item>
<MimeContent/>
<ItemId/>
<ParentFolderId/>
<ItemClass/>
<Subject/>
<Sensitivity/>
<Body/>
<Attachments/>
<DateTimeReceived/>
<Size/>
<Categories/>
<Importance/>
<InReplyTo/>
<IsSubmitted/>
<IsDraft/>
<IsFromMe/>
<IsResend/>
<IsUnmodified/>
<InternetMessageHeaders/>
<DateTimeSent/>
<DateTimeCreated/>
<ResponseObjects/>
<ReminderDueBy/>
<ReminderIsSet/>
<ReminderMinutesBeforeStart/>
<DisplayCc/>
<DisplayTo/>
<HasAttachments/>
<ExtendedProperty/>
<Culture/>
<EffectiveRights/>
<LastModifiedName/>
<LastModifiedTime/>
<IsAssociated/>
<WebClientReadFormQueryString/>
<WebClientEditFormQueryString/>
<ConversationId/>
<UniqueBody/>
</Item>
I will explain the specific properties of the most used ItemClasses in the chapters pertaining to these item. For now, know that all operations on any type of items is done through the same methods, only the ItemClass will determine what it contains and what happens to it when you do something.
As with records in 4D, Items have different kinds of properties, or fields if you like that term better.
As these are objects and you should get accustomed to objects anyway, I will henceforth only refer to these as properties.
Now that we got this out of the way, you want to have a quick look on the different property types in the net sub-chapter