Freigeben über


Importieren eines Exchange-Postfachelements mithilfe der Import- und Export-APIs für Postfächer

Mit den ApIs zum Importieren und Exportieren von Postfächern können Sie ein Exchange-Postfachelement importieren, das mithilfe von exportItems exportiert wurde. Elemente können im gleichen oder in einem anderen Postfach wiederhergestellt werden.

In diesem Artikel werden die zwei Schritte beschrieben, die zum Ausführen des Importvorgangs erforderlich sind, wobei für jeden Schritt ein Beispiel bereitgestellt wird. Nach dem erfolgreichen Hochladen des Elements erhalten Sie eine Antwort, die die itemId und changeKey enthält, die zur späteren Verwendung gespeichert werden können.

Schritt 1: Erstellen einer Importsitzung

Erstellen Sie eine Importsitzung , um ein Element in einen Ordner im Postfach zu importieren.

Ein erfolgreicher Vorgang gibt einen HTTP 201 Created Antwortcode und ein neues mailboxItemImportSession-Objekt im Antworttext zurück, das eine undurchsichtige importUrl enthält, die Sie in nachfolgenden POST-Vorgängen verwenden können, um Elemente in einen Ordner hochzuladen.

Das mailboxItemImportSession-Objekt in der Antwort enthält auch die expirationDateTime-Eigenschaft , die das Ablaufdatum und die Uhrzeit für das in den ImportUrl-Eigenschaftswert eingebettete Authentifizierungstoken angibt. Nach diesem Zeitpunkt läuft die importUrl ab und wird gelöscht.

Berechtigungen

Stellen Sie sicher, dass Sie die MailboxItem.ImportExport delegierte Berechtigung oder MailboxItem.ImportExport.All Anwendungsberechtigung anfordern, um eine mailboxItemImportSession zu erstellen.

Die nicht transparente URL, die in der importUrl-Eigenschaft des neuen mailboxItemImportSession zurückgegeben wird, ist vorab authentifiziert und enthält das entsprechende Autorisierungstoken für nachfolgende POST-Abfragen in der https://outlook.office365.com Domäne. Passen Sie diese URL nicht für die POST-Vorgänge an.

Beispiel: Erstellen einer Postfachelementimportsitzung

Das folgende Beispiel zeigt, wie ein mailboxItemImportSession-Objekt erstellt wird.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/admin/exchange/mailboxes/MBX:e0643f21@a7809c93/createImportSession

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.mailboxItemImportSession",
    "importUrl": "https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b",
    "expirationDateTime": "2024-10-17T19:00:48.1052906Z"
}

Schritt 2: Verwenden der Import-URL zum Hochladen eines Elements

Um das Element in das Postfach zu importieren, senden Sie eine POST-Anforderung an die URL, die im vorherigen Schritt in der importUrl-Eigenschaft des mailboxItemImportSession-Objekts zurückgegeben wurde.

Geben Sie den Anforderungstext wie im Abschnitt Anforderungstext beschrieben an.

Anforderungsheader

Da die anfängliche nicht transparente URL vorab authentifiziert ist und das entsprechende Autorisierungstoken für nachfolgende Abfragen für diese Importsitzung enthält, geben Sie keinen Anforderungsheader Authorization für diesen Vorgang an.

Anforderungstext

Parameter Typ Beschreibung
FolderId Zeichenfolge Die ID des Ordners, in den Sie das Element importieren möchten. Erforderlich.
Modus Zeichenfolge Gibt an, dass der Importmodus oder updatesein create kann. Erforderlich.

  • create: Erstellt ein neues Element. Wenn Sie ItemId oder ChangeKey im Anforderungstext angeben, führt dies zu einem Fehler.
  • update: Updates ein vorhandenes Element. ItemId und ChangeKey sind im Anforderungstext für Updates erforderlich. Der Vorgang schlägt fehl, wenn die Kombination aus ItemId und ChangeKey nicht mit einem vorhandenen Element im Ordner übereinstimmt.
Daten Zeichenfolge Daten, die ein Element in einem Base64-codierten FTS-Format darstellen. Erforderlich.
ItemId Zeichenfolge Der eindeutige Bezeichner für das Element. Erforderlich während update.
ChangeKey Zeichenfolge Die Version des Elements. Erforderlich während update.

Antwort

Wenn die Aktion erfolgreich verläuft, werden der 200 OK Antwortcode und ein importMailboxItemResponse-Objekt im Antworttext zurückgegeben.

Beispiele

Beispiel 1: Erstellen eines Elements in einem Postfach mithilfe des Importvorgangs

Im folgenden Beispiel wird gezeigt, wie ein neues Element im Modus in create das Postfach importiert wird.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b

{
    "FolderId": "EDSVrdi3lRAAEED0yTAAA=",
    "Mode": "create",
    "Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA"
}
Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232

{
    "@odata.context": "https://outlook.office365.com/api/gbeta/$metadata#microsoft.graph.importMailboxItemResponse",
    "itemId": "EDSVrdi3lRAAFSX03NAAA=",
    "changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg=="
}

Beispiel 2: Aktualisieren eines vorhandenen Elements in einem Postfach mithilfe des Importvorgangs

Das folgende Beispiel zeigt, wie Sie eine neue Version eines vorhandenen Elements im Modus in update das Postfach importieren.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://outlook.office365.com/api/gbeta/Mailboxes('MBX:e0643f21@a7809c93')/importItem?authtoken=eyJhbGciOiJSUzI1NiIsImtpZCI6IjFTeXQ1b

{
    "FolderId": "EDSVrdi3lRAAEED0yTAAA=",
    "Mode": "update",
    "Data": "AQAAAAgAAAAAAAAAAQAAAAMAAAAYAAAAAQAAAAcDAgAAAAAAwAAAAAAAAEYAJACABAAAAAYAAAAUD9aRhhcCAAAAwHsAAAMAFwABAAAAsIQaABIAAABJAFAATQAuA",
    "ItemId" : "EDSVrdi3lRAAFSX03NAAA=",
    "ChangeKey": "kNnynYavKEihA0la3Yt5UQABUftGQg==" 
}
Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 200 OK
Content-type: application/json
Content-length: 232

{
    "@odata.context": "https://outlook.office365.com/api/gbeta/$metadata#microsoft.graph.importMailboxItemResponse",
    "itemId": "EDSVrdi3lRAAFSX03NAAA=",
    "changeKey": "kNnynYavKEihA0la3Yt5UQABUftGQf=="
}