【问题标题】:1 MB response size limit with outlook web add-insOutlook Web 加载项的 1 MB 响应大小限制
【发布时间】:2016-07-21 05:55:23
【问题描述】:

我正在使用 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 内容,并将这些内容发布到我们的服务器。有没有办法在请求中增加这个限制,或者在 Exchange 端配置这个?

【问题讨论】:

    标签: outlook outlook-addin office-js outlook-web-addins


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 如何获得完整的消息 (.msg Objekt),它是对 MimeContent 的丰富?
    • 在尝试使用具有 5k+ 个收件人的 DL 调用 ExpandDL 时遇到 1mb 问题。尝试了来自 getCallbackTokenAsync 的 EWS 令牌,以查看它是否可以在意识到令牌的范围内仅允许访问上下文中的项目(即草稿)之前工作。找到了使用实用程序帐户并通过用户名/密码进行身份验证的解决方法。也可能会探索分页 ExpandDL 调用。有人有其他想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    相关资源
    最近更新 更多