什么是ErrorMessagePerFolderCountReceiveQuotaExceeded?

时间:2016-09-26 18:47:07

标签: exchangewebservices office365-restapi

我在GET上执行me/MailFolders/{folder_id}/messages,通过Office 365 REST API同步Office 365邮件文件夹。对于两个不同的帐户,我最近收到 500 对这些GET的回复,错误代码为 ErrorMessagePerFolderCountReceiveQuotaExceeded ,错误消息为“收到的消息已经删除了该文件夹的配额。“(Typo他们的,不是我的。)

我找不到有关此错误的任何文档。这是什么意思?我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

我似乎无法找到任何文档。

从错误消息中,它似乎可能与"每个邮箱文件夹的最大邮件数量相关" Exchange Online限制。你知道该文件夹是否包含1M +消息吗?

https://technet.microsoft.com/en-us/library/exchange-online-limits.aspx#MailboxFolderLimits

我想我的另一个想法就是你在很短的时间内收到过多的邮件。建议将端点GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages$deltaToken$skipToken一起使用,以跳过以前同步的消息。

https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations#synchronize-messages

答案 1 :(得分:1)

通过Outlook REST API同步到Exchange文件夹时,会向其传递同步令牌。作为响应,API返回新的同步令牌和一组更改。并且客户端应该使用下一个同步请求发回新令牌。

对于大多数支持同步的系统,在后续请求中使用陈旧的同步令牌(即已经发送到服务器一次的那个)通常只会成功而没有问题。而Exchange似乎也是这样工作的......在你做的前999,999次。在第1,000,000次(以及之后的每次),您获得 ErrorMessagePerFolderCountReceiveQuotaExceeded 。这是(我认为)因为Exchange会跟踪它发出的每个令牌,并在每次用于同步时更新其商店中的令牌。如果客户端使用陈旧令牌,则Exchange将其视为新客户端,并将该陈旧令牌作为新条目添加到其活动令牌列表中。该活动令牌列表最多可包含1,000,000个条目。 ErrorMessagePerFolderCountReceiveQuotaExceeded 是指示Exchange的活动令牌列表已溢出的神秘错误。