在通过mailFolder delta 端点同步消息时,特定的 mailFolders 将@odata.deltaLink
在请求时提供返回 503 错误的 s。
这会影响我们当前正在同步的大约 6500 个邮件文件夹中的 4 个。这 4 个中的每一个都位于不同的 Office 365 租户中,并且包括默认文件夹(例如“已发送邮件”)和自定义文件夹。
@odata.nextLink
工作正常。接收新消息的 mailFolder 也不能解决问题:- 如果重新启动同步进度,即丢弃现有的
@odata.deltaLink
, 跟随@odata.nextLink
链将正确返回所有消息(包括在提供 deltaLink 之后创建的消息)。然而,新提供@odata.deltaLink
的虽然不同,但也会返回错误。
- 如果重新启动同步进度,即丢弃现有的
此问题会影响此端点的 1.0 和 beta 版本。
- 受影响用户的所有其他邮件文件夹正常工作。
- 从我们第一次尝试同步受影响的邮件文件夹时就存在此问题。我们第一次看到它是 UTC 时间 2019 年 8 月 3 日晚上 8 点 38 分,尽管问题的存在时间可能比这更长。
- 响应不包含Retry -After 标头。
- 我们所有的其他 6500 个邮件文件夹都具有正常运行的消息增量,并且我们能够正确地将它们与我们的代码同步。
可以通过 Curl 复制到受影响的消息增量 URL。
curl -H "Authorization: Bearer $access_token" "$delta_url"
返回的特定错误代码之一的示例,带有真实的请求 ID:
请求:
https://graph.microsoft.com/v1.0/me/mailFolders/<mailFolderId>/messages/delta?$skiptoken=<skipToken>
{
"error": {
"code": "UnknownError",
"message": "Error while processing response.",
"innerError": {
"request-id": "a4441195-f469-47c8-bea3-cdeedef2e396",
"date": "2019-08-08T21:24:20"
}
}
}
另一个可能相关的标头在响应中:
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West US","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_7","ADSiteName":"WUS"}}