Обработка перенаправлений архивных почтовых ящиков

Архивный почтовый ящик может включать основной архивный почтовый ящик и один или несколько вспомогательных архивных почтовых ящиков (созданных путем автоматического расширения архива). Со временем содержимое папок может быть распределено по этим почтовым ящикам.

В некоторых случаях папка отображается в основном архивном почтовом ящике, но ее содержимое фактически находится во вспомогательном архивном почтовом ящике. Этот тип папки называется развернутой папкой. Он выступает в качестве логического представления папки в главном архиве, но сами данные хранятся в другом архивном почтовом ящике.

Когда приложение обращается к развернутой папке, API может вернуть перенаправление HTTP или ответ об ошибке. Ответ указывает правильную конечную точку для доступа к содержимому.

Принципы действия

  • Приложение выполняет запрос к папке или элементу с помощью основного идентификатора архивного почтового ящика.
  • Если целевой объект находится во вспомогательном архиве, 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элемента сделайте новый запрос POST к URL-адресу в сообщении об ошибке с идентификатором элемента, чтобы экспортировать его.

Пример 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."
}

Чтобы устранить эту проблему, создайте новый сеанс импорта, предназначенный для идентификатора почтового ящика, указанного в сообщении об ошибке (в данном случае ). MBX:f10964a6-4fd0-4f74-8@4d2e-9e48-109351d094ab Используйте свойство importUrl из ответа нового сеанса, чтобы повторить импорт.