正在通过 EWS API 删除 Outlook 消息?

Deleting an Outlook Message via the EWS API?

我正在开发 Outlook 加载项并尝试通过 EWS API(肥皂信封)删除邮件。 不幸的是,遵循文档 DeleteItem Operation 对我不起作用。 我正在使用以下请求信封发出 mailbox.makeEwsRequestAsync() 请求。 我的所有其他 EWS 请求都工作正常,只有这个请求总是失败并返回 ErrorInvalidRequest 响应。我已经用谷歌搜索并搜索了很多计算器,但都没有成功。不幸的是,我必须使用 EWS 来执行此操作。软删除(移至垃圾箱)也有效。

要求:

request = '<?xml version="1.0" encoding="utf-8"?> ' +
        '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" ' +
        '        xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"> ' +
        '   <soap:Body> ' +
        '       <DeleteItem DeleteType="HardDelete" xmlns="https://schemas.microsoft.com/exchange/services/2006/messages">' +
        '           <ItemIds> ' +
        '               <t:ItemId Id="' + item_id + '/> ' +
        '           </ItemIds> ' +
        '       </DeleteItem> ' +
        '   </soap:Body> ' +
        '</soap:Envelope>';

回复:

如有任何帮助,我们将不胜感激!

解决方案(编辑): 下面 Glen Scales 的回答非常有效。 只需将项目移动到清除文件夹,在我的例子中是 'recoverableitemspurges' 文件夹,该文件夹对用户不可见,因此等于硬删除 作为参考,所有 deletedItem 文件夹: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/deleting-items-by-using-ews-in-exchange#find-out-more-about-deleting-items

makeEWSRequestAsync 只能用于 https://docs.microsoft.com/en-us/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions 中列出的 EWS 操作的子集(在 ReadWriteMailbox 权限下)。 DeleteItems 是不允许的,moveitems 是这样你可以尝试将消息移动到 Purges 文件夹,这相当于硬删除。