存档邮箱可以包含主存档邮箱和一个或多个辅助存档邮箱, (通过自动展开存档) 创建。 随着时间的推移,文件夹内容可能会分布在这些邮箱中。
在某些情况下,文件夹显示在主存档邮箱中,但其内容实际上驻留在辅助存档邮箱中。 这种类型的文件夹称为 扩展文件夹。 它充当主存档中文件夹的逻辑表示形式,但数据本身存储在不同的存档邮箱中。
当应用程序访问扩展的文件夹时,API 可能会返回 HTTP 重定向或错误响应。 响应指示访问内容的正确终结点。
运作方式
- 你的应用使用主存档邮箱 ID 向文件夹或项目发出请求。
- 如果目标驻留在辅助存档中,API 将返回重定向响应 (,例如
HTTP 308 Permanent Redirect带有重定向 URL 的) 。 - 你的应用向响应中指示的 URL 发出新请求。
示例 1:访问文件夹时重定向
当你访问物理驻留在辅助存档邮箱中的文件夹时,API 会返回带有 HTTP 308 Permanent Redirect 标头的 Location 。
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==
响应
以下示例显示了重定向的响应。
HTTP/1.1 308 Permanent Redirect
Content-Length: 0
Location: https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:767fh867@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==
跟进请求
使用标头中的 URL Location 发出新请求。
GET https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:767fh867@a7809c93/folders/NJWt2LeVEAAAIBDAAAAA==
示例 2:使用存档重定向响应导出项
从具有自动展开存档文件夹的邮箱导出项目时,响应中的某些项目可能包含 ErrorArchiveFolderMovedPermanently 错误而不是数据。 这表示该项目在物理上驻留在辅助存档邮箱中。 使用错误消息中提供的 URL 为这些项目重新发出导出请求。
响应
以下示例演示了一个响应,其中一个项已成功导出,而另一个项目需要重定向。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.exportItemResponse)",
"value": [
{
"itemId": "AAMkADHGHGDDDSSAFDHGJ",
"changeKey": "CQAAABYAAAC92FzB9+QsR5Q6SPVnShx0AAAAABQ/",
"data": "AQAAAAgAAAAAAAAAAQAAAAQAA"
},
{
"itemId": "AQMkADVmZgBkYzA2OSADDSG",
"Error": {
"message": "https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:5ffdc069-c31e-43fa-9542-eaf862ce18c0@601eaae7-815e-4d2e-9e48-109351d094ab/exportItems",
"code": "ErrorArchiveFolderMovedPermanently"
}
}
]
}
对于返回 ErrorArchiveFolderMovedPermanently的项,请使用项目 ID 对错误消息中的 URL 发出新的 POST 请求以导出它。
示例 3:使用重定向处理导入到存档文件夹
尝试将项目导入物理驻留在辅助 (自动展开) 存档邮箱中的文件夹中时,会收到指示 HTTP 409 Conflict 正确目标邮箱的响应。
响应
以下示例显示了相应的响应。
HTTP/1.1 409 Conflict
Content-type: application/json
{
"Message": "Invalid import session. The target session is expected in mailbox MBX:f10964a6-4fd0-4f74-8@4d2e-9e48-109351d094ab."
}
若要解决此问题,请 创建一个新的导入会话 ,针对错误消息 (中指示的邮箱 ID,在这种情况下, MBX:f10964a6-4fd0-4f74-8@4d2e-9e48-109351d094ab) 。 使用新会话响应中的 importUrl 属性重试导入。