Outlook Web 加载项的响应大小限制为 1 MB

1 MB response size limit with outlook web add-ins

我正在使用 makeEwsRequestAsync 获取电子邮件的完整 MIME 内容。但根据响应中的错误消息,响应大小似乎上限为 1 MB:
"ErrorMessage":“响应超过 1 MB 大小限制。请修改您的 EWS 请求。”

<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
  <ItemShape>
    <t:BaseShape>IdOnly</t:BaseShape>
    <t:AdditionalProperties>
        <t:FieldURI FieldURI="item:MimeContent"/>
    </t:AdditionalProperties>
  </ItemShape>
  <ItemIds><t:ItemId Id="' + itemId + '"/></ItemIds>
</GetItem>

我需要获取可能超过 1 MB 的消息的 MIME 内容,并且 POST 将此类内容发送到我们的服务器。有什么方法可以增加请求中的这个限制,或者在 Exchange 端配置这个吗?

无法向客户端发出超过 1 MB 的 EWS 请求,但是您可以向服务器提供它自己发出请求所需的信息。

您首先需要调用 Office.context.mailbox.getCallbackTokenAsync,这将为您提供一个令牌,您可以使用该令牌从您的服务器发出 EWS 请求。

然后您需要获取可通过 Office.context.mailbox.item.itemId 获得的项目 ID。

最后,您需要 url 来发出请求,即 Office.context.mailbox.ewsUrl

有了这 3 条信息,您的服务器就可以从您的后端对 EWS 进行 SOAP 调用,并绕过对客户端施加的 1 MB 限制。此时,您可以将任何需要的信息传回给您的客户。