exchange web services restriction paths
-
24-02-2021 - |
Question
I have done a bit of searching and am unable to find a list of legal properties for use with the FindItem <Restriction> element, specificially what can I use in
<IsEqualTo><FieldURI FieldURI="???"></IsEqualTo>that will not result in a ErrorUnsupportedPathForQuery error?
(Using EWS Exchange2010_SP1)
La solution
I wrote an integration test which performs a FindItem using an exists filter for each of the UnindexedFieldURIType. Sorry private project, can't post code.
These fields work:
- ITEM_BODY
- CONVERSATION_GLOBAL_UNIQUE_UNREAD_SENDERS
- MESSAGE_IS_DELIVERY_RECEIPT_REQUESTED
- ITEM_LAST_MODIFIED_NAME
- CONVERSATION_GLOBAL_UNIQUE_SENDERS
- CONTACTS_CHILDREN
- FOLDER_CHILD_FOLDER_COUNT
- CONVERSATION_FLAG_STATUS
- CONTACTS_INITIALS
- ITEM_INTERNET_MESSAGE_HEADERS
- CONTACTS_MILEAGE
- TASK_STATUS
- CONTACTS_FILE_AS
- CONVERSATION_MESSAGE_COUNT
- ITEM_DATE_TIME_CREATED
- CONVERSATION_LAST_DELIVERY_TIME
- CALENDAR_IS_RECURRING
- TASK_OWNER
- CONTACTS_DISPLAY_NAME
- TASK_ASSIGNED_TIME
- CONVERSATION_GLOBAL_FLAG_STATUS
- CONTACTS_FILE_AS_MAPPING
- CONVERSATION_SIZE
- CONTACTS_OFFICE_LOCATION
- CALENDAR_APPOINTMENT_SEQUENCE_NUMBER
- CALENDAR_CONFERENCE_TYPE
- CALENDAR_MEETING_WORKSPACE_URL
- CALENDAR_MEETING_REQUEST_WAS_SENT
- CONTACTS_GIVEN_NAME
- CONVERSATION_HAS_ATTACHMENTS
- MESSAGE_RECEIVED_BY
- FOLDER_DISPLAY_NAME
- CONVERSATION_GLOBAL_SIZE
- CONTACTS_BUSINESS_HOME_PAGE
- TASK_COMPANIES
- FOLDER_TOTAL_COUNT
- ITEM_DATE_TIME_SENT
- CALENDAR_APPOINTMENT_REPLY_TIME
- ITEM_SENSITIVITY
- TASK_IS_RECURRING
- ITEM_DATE_TIME_RECEIVED
- CONTACTS_MIDDLE_NAME
- CONTACTS_JOB_TITLE
- MESSAGE_FROM
- CONTACTS_PROFESSION
- ITEM_ITEM_CLASS
- CONTACTS_BIRTHDAY
- MEETING_RESPONSE_TYPE
- FOLDER_FOLDER_CLASS
- CONTACTS_WEDDING_ANNIVERSARY
- MESSAGE_IS_RESPONSE_REQUESTED
- TASK_DELEGATION_STATE
- CALENDAR_APPOINTMENT_STATE
- MESSAGE_RECEIVED_REPRESENTING
- CONVERSATION_GLOBAL_MESSAGE_COUNT
- CALENDAR_MY_RESPONSE_TYPE
- TASK_BILLING_INFORMATION
- ITEM_CATEGORIES
- MESSAGE_INTERNET_MESSAGE_ID
- ITEM_SUBJECT
- FOLDER_UNREAD_COUNT
- CALENDAR_NET_SHOW_URL
- ITEM_IMPORTANCE
- ITEM_CONVERSATION_ID
- TASK_IS_TEAM_TASK
- TASK_DELEGATOR
- CONTACTS_HAS_PICTURE
- CALENDAR_ORGANIZER
- MESSAGE_IS_READ_RECEIPT_REQUESTED
- TASK_MILEAGE
- CONTACTS_MANAGER
- CONTACTS_POSTAL_ADDRESS_INDEX
- ITEM_DISPLAY_TO
- CONVERSATION_ITEM_CLASSES
- TASK_ACTUAL_WORK
- TASK_TOTAL_WORK
- CONTACTS_ASSISTANT_NAME
- CONVERSATION_GLOBAL_UNREAD_COUNT
- CALENDAR_LOCATION
- MESSAGE_SENDER
- CONTACTS_SURNAME
- CALENDAR_LEGACY_FREE_BUSY_STATUS
- TASK_DUE_DATE
- TASK_IS_ASSIGNMENT_EDITABLE
- CALENDAR_IS_ALL_DAY_EVENT
- MESSAGE_REFERENCES
- CONVERSATION_GLOBAL_UNIQUE_RECIPIENTS
- TASK_CHANGE_COUNT
- CONTACTS_SPOUSE_NAME
- CONVERSATION_UNREAD_COUNT
- CONVERSATION_IMPORTANCE
- ITEM_IN_REPLY_TO
- CALENDAR_WHEN
- ITEM_REMINDER_IS_SET
- MESSAGE_CONVERSATION_TOPIC
- MESSAGE_CONVERSATION_INDEX
- TASK_PERCENT_COMPLETE
- TASK_COMPLETE_DATE
- CONVERSATION_UNIQUE_UNREAD_SENDERS
- CALENDAR_START
- TASK_IS_COMPLETE
- CONVERSATION_UNIQUE_RECIPIENTS
- ITEM_REMINDER_MINUTES_BEFORE_START
- CONVERSATION_GLOBAL_HAS_ATTACHMENTS
- CONVERSATION_GLOBAL_IMPORTANCE
- ITEM_SIZE
- TASK_CONTACTS
- CALENDAR_ALLOW_NEW_TIME_PROPOSAL
- CONTACTS_DEPARTMENT
- CONVERSATION_GLOBAL_LAST_DELIVERY_TIME
- CALENDAR_END
- POSTITEM_POSTED_TIME
- CALENDAR_TIME_ZONE
- ITEM_LAST_MODIFIED_TIME
- CONTACTS_NICKNAME
- MEETING_REQUEST_INTENDED_FREE_BUSY_STATUS
- TASK_START_DATE
- CONTACTS_COMPANY_NAME
- MEETING_HAS_BEEN_PROCESSED
- CONVERSATION_UNIQUE_SENDERS
- ITEM_DISPLAY_CC
- CONTACTS_GENERATION
It's worth noting that of the fields that produce an error, most fail with an ERROR_UNSUPPORTED_PATH_FOR_QUERY, but others fail with a ERROR_INVALID_PROPERTY_FOR_EXISTS. That suggests that some fields work with some some SearchExpressionTypes while others don't.
Autres conseils
See http://msdn.microsoft.com/en-us/library/aa494315(v=EXCHG.140).aspx. But if you are using a .NET based language, you should use the EWS Managed API, which is much more simpler to use.