Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API импорта и экспорта почтовых ящиков позволяют импортировать элемент почтового ящика Exchange, экспортированный с помощью exportItems. Элементы можно восстановить в один или другой почтовый ящик.
В этой статье описываются два шага, необходимых для выполнения процесса импорта, с примером для каждого шага. После успешной отправки элемента вы получите ответ, содержащий itemId и changeKey, которые можно сохранить для последующего использования.
Шаг 1. Создание сеанса импорта
Создайте сеанс импорта для импорта элемента в папку в почтовом ящике.
Успешная операция возвращает HTTP 201 Created код ответа и новый объект mailboxItemImportSession в теле отклика, который содержит непрозрачный importUrl , который можно использовать в последующих операциях POST для отправки элементов в папку.
Объект mailboxItemImportSession в ответе также содержит свойство expirationDateTime , указывающее дату и время окончания срока действия маркера проверки подлинности, внедренного в значение свойства importUrl . По истечении этого времени срок действия importUrl истечет и удаляется.
Разрешения
Обязательно запросить делегированное MailboxItem.ImportExport разрешение или MailboxItem.ImportExport.All разрешение приложения на создание mailboxItemImportSession.
Непрозрачный URL-адрес, возвращаемый в свойстве importUrl нового mailboxItemImportSession, предварительно проверяется и содержит соответствующий маркер авторизации для последующих запросов POST в домене https://outlook.office365.com . Не настраивайте этот URL-адрес для операций POST.
Пример. Создание сеанса импорта элементов почтового ящика
В следующем примере показано, как создать объект mailboxItemImportSession .
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/createImportSession
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.mailboxItemImportSession",
"importUrl": "https://outlook.office365.com/api/gv1.0/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b",
"expirationDateTime": "2024-10-17T19:00:48.1052906Z"
}
Шаг 2. Отправка элемента с помощью URL-адреса импорта
Чтобы импортировать элемент в почтовый ящик, выполните запрос POST на URL-адрес, возвращенный на предыдущем шаге в свойстве importUrl объекта mailboxItemImportSession .
Укажите текст запроса, как описано в разделе Текст запроса .
Заголовки запросов
Так как исходный непрозрачный URL-адрес предварительно прошел проверку подлинности и содержит соответствующий маркер авторизации для последующих запросов для этого сеанса импорта, не указывайте Authorization заголовок запроса для этой операции.
Текст запроса
| Параметр | Тип | Описание |
|---|---|---|
| FolderId | String | Идентификатор папки, в которую требуется импортировать элемент. Обязательно. |
| Режим | String | Указывает, что режим импорта может быть или createupdate. Обязательно.
|
| Data | String | Данные, представляющие элемент в формате FTS в кодировке Base64. Обязательно. |
| ItemId | String | Уникальный идентификатор элемента. Требуется во время update. |
| ChangeKey | String | Версия элемента. Требуется во время update. |
Отклик
В случае успешного 200 OK выполнения это действие возвращает код ответа и объект importMailboxItemResponse в тексте ответа.
Примеры
Пример 1. Создание элемента в почтовом ящике с помощью операции импорта
В следующем примере показано, как импортировать новый элемент в почтовый ящик в create режиме .
Запрос
Ниже показан пример запроса.
POST https://outlook.office365.com/api/gv1.0/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "create",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA"
}
Отклик
Ниже показан пример отклика.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://outlook.office365.com/api/gv1.0/$metadata#microsoft.graph.importMailboxItemResponse",
"itemId": "EDSVrdi3lRAAFSX03NAAA=",
"changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}
Пример 2. Обновление существующего элемента в почтовом ящике с помощью операции импорта
В следующем примере показано, как импортировать новую версию существующего элемента в почтовый ящик в update режиме .
Запрос
Ниже показан пример запроса.
POST https://outlook.office365.com/api/gv1.0/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b
{
"FolderId": "EDSVrdi3lRAAEED0yTAAA=",
"Mode": "update",
"Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA",
"ItemId" : "EDSVrdi3lRAAFSX03NAAA=",
"ChangeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}
Отклик
Ниже приводится пример отклика.
HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232
{
"@odata.context": "https://outlook.office365.com/api/gv1.0/$metadata#microsoft.graph.importMailboxItemResponse",
"itemId": "EDSVrdi3lRAAFSX03NAAA=",
"changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQf=="
}