220.127.116.11 Mail App Requests Web Services Identifier
When a mail add-in requests the web services identifier for an object, the client MUST derive the identifier using the following procedure:
If deriving a web services identifier for an Email object, a Calendar object that is not recurring, or a Recurring Calendar object, the client creates an ItemData structure as specified in section 18.104.22.168.1.1. If deriving a web services identifier for a single occurrence of a Recurring Calendar object, the client creates a RecurrenceItemData structure as specified in section 22.214.171.124.1.2.
The client creates a DerivedId structure as specified in section 126.96.36.199.1 and puts the structure created in step 1 in the Data field.
If a byte value is repeated, replace the repeated bytes with three bytes. The repeated byte is written into the first two bytes, and the third byte is set to the total number of times that byte is repeated in the uncompressed stream, minus two.
If a byte value is not repeated, copy it directly into the compressed stream.
If the length of the compressed DerivedId structure is greater than or equal to the length of the uncompressed DerivedId structure, clients MUST put the uncompressed DerivedId structure in the Payload field of a new DerivedWSId structure, as specified in section 188.8.131.52, and set the CompressionType field to 0x00. Otherwise, clients MUST put the compressed DerivedId structure in the Payload field of a new DerivedWSId structure and set the CompressionType field to 0x01.
The client encodes the DerivedWSId structure using base64 encoding and returns the result to the mail add-in.