Notes

The "Notes"-list are the personal notes stored in the mailbox of the user.

MSDN Reference Links:
Notes - Protocol Example:
http://msdn.microsoft.com/en-us/library/ee200697(v=exchg.80).aspx
WBXML Code Page 23 - Notes:
http://msdn.microsoft.com/en-us/library/ee218292(v=exchg.80).aspx

Important - Deprecation of Notes in Exchange Server
The Notes store is mainly present in newer versions of Exchange for legacy reasons. Creating notes is only supported officially in the Outlook client.
It is not possible to create or edit Notes in Outlook Web App, although you will be able to view and delete them.
The ActiveSync client in Windows Phone does not support Notes at all.

Inputs / Querystring parameters:

  • serverAddress
    • The address of the Exchange Server to connect to.
    • Sample: "https://mail.contoso.com/Microsoft-Server-ActiveSync/"
  • credentials
    • The base64-encoded combination of username & password. Can be formatted either as "domain\username:password" or "email:password".
    • Sample I: "John@Contoso.com:password" =>"Sm9obkBDb250b3NvLmNvbTpwYXNzd29yZA=="
    • Sample II: "Contoso\John:password" => "Q29udG9zb1xKb2huOnBhc3N3b3Jk"
  • DeviceID
    • A unique identifier for the device. Keep this parameter consistent - Exchange keeps a list of device ids and will get confused if a device changes properties randomly.
    • Sample: IMEI12345678
  • DeviceType
    • Identifies the type of device, and does not have to be unique.
    • Sample: "API Device"

Algorithm / XML documents

Synchronizing all notes is a three-step process:
  • Do a FolderSync to retrieve the Server Ids for all folders. Use this to identify the folder for "Default Notes".
  • Do a FolderSync with a SyncKey of 0 to acquire a new SyncKey.
  • Do a FolderSync with the new SyncKey and the Folder Id for the "Default Notes".

The "Type" for "Default Notes" is "10". (Can be found in the EASProtocol.Enums.FolderSyncTypes.DefaultNotes.)
"User Created Notes"-folder has not been implemented yet.

The XML documents used are the following

Discover Folder Ids:
<?xml version="1.0" encoding="utf-8"?>
<FolderSync xmlns="FolderHierarchy">
  <SyncKey>0</SyncKey>
</FolderSync>

Get SyncKey:
<?xml version="1.0" encoding="utf-8"?>
<Sync xmlns="AirSync">
  <Collections>
    <Collection>
      <SyncKey>0</SyncKey>
      <CollectionId>FolderId</CollectionId>
    </Collection>
  </Collections>
</Sync>

Get Notes
<?xml version="1.0" encoding="utf-8"?>
<Sync xmlns="AirSync">
  <Collections>
    <Collection>
      <SyncKey>SyncKey</SyncKey>
      <CollectionId>FolderId</CollectionId>
    </Collection>
  </Collections>
</Sync>

The API will return something similar to this (in JSON format):
  [
    {
      "Subject":"Test Note",
      "MessageClass":"IPM.StickyNote",
      "LastModifiedDate":"20130816T150215Z",      
      "Category":"Business"
    }
  ]

Last edited Aug 16, 2013 at 6:21 PM by ahell, version 1

Comments

No comments yet.