如何在 Outlook 的“已删除邮件”文件夹中创建 EWS 项目(日历事件或联系人)?
How to create an EWS item (Calendar event or Contact) in the Deleted Items folder in Outlook?
我试图将项目重新创建到“已删除项目”文件夹中,但没有任何反应,我遇到了这些错误 "ErrorCannotCreateCalendarItemInNonCalendarFolder" 或 "ErrorCannotCreateContactInNonContactFolder"。如何克服这个问题?
我用正文请求POST
"<?xml version=\"1.0\" encoding=\"utf-8\"?> "
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" "
"xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" >"
"<soap:Header> "
"<t:RequestServerVersion Version=\"Exchange2013\" /> "
"<t:ExchangeImpersonation> "
"<t:ConnectingSID> "
"<t:PrincipalName>%MAIL_BOX%</t:PrincipalName> " // <<------- MAIL_BOX ---- FILLED IN BY A TEMPLATE PARAM
"</t:ConnectingSID> "
"</t:ExchangeImpersonation> "
"</soap:Header> "
"<soap:Body> "
"<CreateItem xmlns=\"http://schemas.microsoft.com/exchange/services/2006/messages\" "
"MessageDisposition=\"SaveOnly\" "
"SendMeetingInvitations=\"SendToNone\"> "
"<SavedItemFolderId>"
"<t:FolderId Id=\"%FOLDER_ID%\"/>" // <<------- FOLDER_ID ---- FILLED IN BY A TEMPLATE PARAM
"</SavedItemFolderId>"
"<Items>"
"%ITEMS_CONTENT%" // <<------- ITEMS_CONTENT ---- FILLED IN BY A TEMPLATE PARAM
"</Items>"
"</CreateItem>"
"</soap:Body>"
"</soap:Envelope>";
得到这样的回应:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="1922" MinorBuildNumber="23" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Error">
<m:MessageText>Cannot create a calendar item in a non-calendar folder.</m:MessageText>
<m:ResponseCode>ErrorCannotCreateCalendarItemInNonCalendarFolder</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items />
</m:CreateItemResponseMessage>
</m:ResponseMessages>
</m:CreateItemResponse>
</s:Body>
</s:Envelope>
因为已删除项目文件夹 class 是 IPF.Note EWS 限制您在这些类型的文件夹中创建日历或联系人项目,因此您会收到错误消息。解决方法是在普通日历或联系人文件夹中创建项目,然后在创建后使用移动操作移动它。
我试图将项目重新创建到“已删除项目”文件夹中,但没有任何反应,我遇到了这些错误 "ErrorCannotCreateCalendarItemInNonCalendarFolder" 或 "ErrorCannotCreateContactInNonContactFolder"。如何克服这个问题?
我用正文请求POST
"<?xml version=\"1.0\" encoding=\"utf-8\"?> "
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" "
"xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" >"
"<soap:Header> "
"<t:RequestServerVersion Version=\"Exchange2013\" /> "
"<t:ExchangeImpersonation> "
"<t:ConnectingSID> "
"<t:PrincipalName>%MAIL_BOX%</t:PrincipalName> " // <<------- MAIL_BOX ---- FILLED IN BY A TEMPLATE PARAM
"</t:ConnectingSID> "
"</t:ExchangeImpersonation> "
"</soap:Header> "
"<soap:Body> "
"<CreateItem xmlns=\"http://schemas.microsoft.com/exchange/services/2006/messages\" "
"MessageDisposition=\"SaveOnly\" "
"SendMeetingInvitations=\"SendToNone\"> "
"<SavedItemFolderId>"
"<t:FolderId Id=\"%FOLDER_ID%\"/>" // <<------- FOLDER_ID ---- FILLED IN BY A TEMPLATE PARAM
"</SavedItemFolderId>"
"<Items>"
"%ITEMS_CONTENT%" // <<------- ITEMS_CONTENT ---- FILLED IN BY A TEMPLATE PARAM
"</Items>"
"</CreateItem>"
"</soap:Body>"
"</soap:Envelope>";
得到这样的回应:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="1922" MinorBuildNumber="23" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Error">
<m:MessageText>Cannot create a calendar item in a non-calendar folder.</m:MessageText>
<m:ResponseCode>ErrorCannotCreateCalendarItemInNonCalendarFolder</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items />
</m:CreateItemResponseMessage>
</m:ResponseMessages>
</m:CreateItemResponse>
</s:Body>
</s:Envelope>
因为已删除项目文件夹 class 是 IPF.Note EWS 限制您在这些类型的文件夹中创建日历或联系人项目,因此您会收到错误消息。解决方法是在普通日历或联系人文件夹中创建项目,然后在创建后使用移动操作移动它。