taskFileAttachment: createUploadSession

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie eine Uploadsitzung, um Bereiche einer Datei als Anlage an eine TodoTask iterativ hochzuladen.

Als Teil der Antwort gibt diese Aktion eine Upload-URL zurück, die Sie in nachfolgenden sequenziellen PUT Abfragen verwenden können. Mit den Anforderungsheadern für jeden PUT Vorgang können Sie den genauen Bereich der Bytes angeben, die hochgeladen werden sollen. Dadurch kann die Übertragung fortgesetzt werden, falls die Netzwerkverbindung während des Uploads getrennt wird.

Im Folgenden finden Sie die Schritte zum Anfügen einer Datei an eine Microsoft To Do-Aufgabe mithilfe einer Uploadsitzung:

  1. Erstellen Sie eine Uploadsitzung.
  2. Laden Sie innerhalb dieser Uploadsitzung iterativ Bytebereiche (jeweils bis zu 4 MB) hoch, bis alle Bytes der Datei hochgeladen wurden und die Datei an todoTask angefügt ist.
  3. Optional: Löschen Sie die Uploadsitzung.

Hinweis: Verwenden Sie diesen Ansatz, um eine Datei einer beliebigen unterstützten Größe zwischen 0 MB und 25 MB anzuhängen.

Ein Beispiel, das den End-to-End-Anhangsprozess beschreibt, finden Sie unter Anfügen von Dateien an eine To Do-Aufgabe.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet
✅ ✅ ✅ ❌

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Tasks.ReadWrite Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Tasks.ReadWrite Nicht verfügbar.
Application Nicht unterstützt Nicht unterstützt

HTTP-Anforderung

POST /me/todo/lists/{id}/tasks/{id}/attachments/createUploadSession
POST /users/{id}/todo/lists/{id}/tasks/{id}/attachments/createUploadSession

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung der Parameter an.

Die folgende Tabelle zeigt den Parameter, der bei dieser Aktion verwendet werden kann.

Parameter Typ Beschreibung
attachmentInfo attachmentInfo Stellt Attribute des Elements dar, das hochgeladen und angefügt werden soll. Geben Sie mindestens den Anlagentyp (file), einen Namen und die Größe der Datei an.

Antwort

Bei erfolgreicher Ausführung gibt diese Aktion einen 200 OK Antwortcode und eine neue uploadSession im Antworttext zurück.

Beispiele

Anforderung

Das folgende Beispiel zeigt eine Anforderung zum Erstellen einer Upload-Sitzung.

POST https://graph.microsoft.com/beta/me/todo/lists/AAMDiFkfh=/tasks/AAMkADliMm=/attachments/createUploadSession
Content-Type: application/json

{
  "attachmentInfo": {
    "attachmentType": "file",
    "name": "flower",
    "size": 3483322
  }
}

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://graph.microsoft.com/beta/users/6f9a2a92-8527-4d64-837e-b5312852f36d/todo/lists/AAMDiFkfh=/tasks/AAMkADliMm=/attachmentSessions/AAMkADliMm=",
    "expirationDateTime": "2022-06-09T10:45:27.4324526Z",
    "nextExpectedRanges": [
        "0-"
    ]
}