我需要编写Outlook App,我需要在扩展属性中添加一些信息。我在我的JS代码中使用Office.context.mailbox.item.saveAsync()将消息保存到草稿文件夹中。 然后我生成EWS XML请求以获取已在item.saveAsync()回调中收到的已保存草稿的ChangeKey。 现在我正在尝试通过以下XML请求添加扩展属性:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t=http://schemas.microsoft.com/exchange/services/2006/types xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
<t:TimeZoneContext>
<t:TimeZoneDefinition Id="Eastern Standard Time" />
</t:TimeZoneContext>
</soap:Header>
<soap:Body>
<m:UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AutoResolve">
<m:ItemChanges>
<t:ItemChange>
<t:ItemId Id="AQMkAGYzMmY5ZjQ1LTZiZDAtNGUwMy1hN2I0LThmNWM3NGYyY2VhMABGAAADVxv6DmzCb0aSDWQq9af2cwcAiSvs3uFZHUqIGSh2GUm6AAADAQ8AAACJK+ze4VkdSogZKHYZSboAAAI7ViIAAAA=" ChangeKey="CQAAABYAAACJK+ze4VkdSogZKHYZSboAAAAAO3qD" />
<t:Updates>
<t:SetItemField>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c3e" PropertyName="prop1" PropertyType="String" />
<t:Message>
<t:ExtendedProperty>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c3e" PropertyName="prop1" PropertyType="String" />
<t:Value>prop1Value</t:Value>
</t:ExtendedProperty>
</t:Message>
</t:SetItemField>
<t:SetItemField>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c4e" PropertyName="prop2" PropertyType="String" />
<t:Message>
<t:ExtendedProperty>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c4e" PropertyName="prop2" PropertyType="String" />
<t:Value>prop2Value</t:Value>
</t:ExtendedProperty>
</t:Message>
</t:SetItemField>
<t:SetItemField>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c5e" PropertyName="prop3" PropertyType="String" />
<t:Message>
<t:ExtendedProperty>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c5e" PropertyName="prop3" PropertyType="String" />
<t:Value>prop3Value</t:Value>
</t:ExtendedProperty>
</t:Message>
</t:SetItemField>
<t:SetItemField>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c6e" PropertyName="prop4" PropertyType="String" />
<t:Message>
<t:ExtendedProperty>
<t:ExtendedFieldURI PropertySetId="c11ff724-aa03-4555-9952-8fa248a11c6e" PropertyName="prop4" PropertyType="String" />
<t:Value>prop4Value</t:Value>
</t:ExtendedProperty>
</t:Message>
</t:SetItemField>
</t:Updates>
</t:ItemChange>
</m:ItemChanges>
</m:UpdateItem>
</soap:Body>
</soap:Envelope>
但在回调中我收到失败状态和此错误
远程服务器返回错误:(400)错误请求。
我使用https://msdn.microsoft.com/en-us/library/office/dd633633%28v=exchg.80%29.aspx作为样本。
我需要通过点击“发送”按钮发送带有扩展属性的消息。
我该怎么做?
答案 0 :(得分:1)
这可能是你的编码字符串。
Exchange "utf-8"
中的双引号交换Web服务。
使用:Content-Type: text/xml; charset=utf-8