如何解决Microsoft Graph API-Exchange Online邮件调用返回ServiceUnavailable
我正在使用Microsoft Graph API从Office365中的Exchange提取邮件。 但是,对于某些文件夹,我似乎会遇到间歇性异常。
我们正在使用什么:
Microsoft.Graph版本3.9.0-用于.Net的Microsoft Graph客户端库
Microsoft.Graph.Core版本1.21.0-用于.Net的Microsoft Graph核心客户端库
这是正在使用的呼叫:
'GET /v1.0/users/{id}/mailFolders/{id}/messages'
这是错误(ServiceUnavailable,UnknownError作为内部异常):
状态代码:ServiceUnavailable Microsoft.Graph.ServiceException: 代码:UnknownError消息:处理响应时出错。内 错误: 附加数据: 日期:2020-08-04T13:55:33 request-id:** ClientRequestId:**
代码:UnknownError消息:处理响应时出错。内部错误: 附加数据: 日期:2020-08-04T13:55:33 request-id:** ClientRequestId:**
我尝试过的事情:
- 节流:
这些通常是我们在节流时会看到的错误。但是,在这种情况下,似乎没有迹象表明正在应用节流。结果中没有返回任何“退避”时间。对不同文件夹的其他请求也可以返回。通过应用我们自己的“退避”时间(似乎在5分钟至20分钟之间不起作用,所以也没有什么区别。)
- Beta端点:
上面发布的呼叫显示已使用/v1.0。我们也切换到了/ beta端点,没有区别。
- 检索到的邮件数量:
图表可让我们一次最多检索999个邮件。我们已经将其减少到了一次或每次发送2封邮件,但仍然返回相同的错误。
- Delta令牌:
我们也尝试过使用delta令牌来检索邮件。这也会返回相同的错误。
- 图形降级:
希望最近几个版本有所不同,所以我们将Graph降级了。没有区别。
- 检查本地同步问题:
我过去(很久以前)注意到,当对具有潜在本地同步问题的文件夹进行此调用时,这是返回的相同类型的错误响应。在这种情况下,没有理由认为这是本地同步问题。
- 其他:
设置httpProvider时,我也删除了默认重试处理程序。我已经看到,使用默认的重试处理程序,它将自动捕获“ ServiceException”并进行内部重试(不遵循退避(不存在任何问题)),并且会导致tooManyRetries或超时(隐藏实际问题)。通过删除默认的重试处理程序,我们可以看到服务器返回的实际“ ServiceException”错误。
时间:
根据我们的遥测,自6月11日至13日左右以来,这种情况似乎开始频繁发生。在此之前,我们没有遇到任何问题。 有时候,这些请求可以正常工作,但是之间的需求很少。
这对我们来说是一个很大的问题,因此任何建议将不胜感激。我可以用来登录的任何特定的Microsoft支持渠道也将有所帮助。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。