Search code examples
outlookmicrosoft-graph-apiexchange-serveroutlook-restapimicrosoft-graph-mail

How to get PidTag properties from Exchange via Graph API


I want to read PidTag properties from a specific e-mail message via Graph API REST call.

For singleValueExtendedProperties that is no problem as each of them has a specific GUID and in the filter query parameter can easily search for id with the corresponding property.

However I can't do the same with PidTags (i.e. the PidTag PidTagAccess or as OutlookSpy would show it: PR_ACCESS) because all of those PidTags have only the following attributes:

  • Tag num: HEX
  • Tag sym: String
  • Type: PropertyType
  • Value: Int

Does anyone have an idea how I could get those PidTags from an Outlook message?

I tried to put different types of attributenames into the filter query that weren't listed in the api and didn't really expect it to work. But it's better to try something out rather than to assume it won't work.


Solution

  • Use the proptag format to access properties predefined by MAPI, or by a client or server, and that have not already been exposed in Microsoft Graph. These properties have property identifiers in the 0x0001-0x7fff range. You can find more information about that in the Outlook extended properties overview.

    Each predefined property in MAPI has well-defined description in MSDN with a property type, description and its identifier. For example, take a look at the PidTagAccess property description where you can get the required information. In OutlookSpy you may find the same information I believe.