printDocument: 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, die es einer App ermöglicht, Bereiche einer Binärdatei, die mit dem Druckdokument verknüpft ist, iterativ hochzuladen.

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

Hinweis: Das Erstellen einer Upload-Sitzung mit Anwendungsberechtigungen ist nur dann erfolgreich, wenn eine printTask in einem processing Zustand für den zugeordneten Druckauftrag vorhanden ist, der von einem Trigger gestartet wird, den die anfordernde App erstellt hat. Ausführliche Informationen zum Registrieren eines Tasktriggers finden Sie unter Erweitern des universellen Druckens zur Unterstützung des Pull-Drucks.

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) PrintJob.Create PrintJob.ReadWrite, PrintJob.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application PrintJob.ReadWrite.All Nicht verfügbar.

HTTP-Anforderung

So erstellen Sie eine Upload-Sitzung mit einem Drucker:

POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession

So erstellen Sie eine Uploadsitzung mit printerShare (nur mit delegierten Berechtigungen unterstützt):

POST /print/shares/{id}/jobs/{id}/documents/{id}/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 ein JSON-Objekt mit den folgenden Parametern an.

Parameter Typ Beschreibung
properties printDocumentUploadProperties Stellt Eigenschaften der hochzuladenden Binärdatei dar.

Der Wert der contentType-Eigenschaft im Anforderungstext sollte von printer/printerShare unterstützt werden. Sie können die unterstützten Inhaltstypen abrufen, indem Sie die printerCapabilities des Druckers/DruckerShare abrufen.

Für die Konvertierung von OXPS in PDF müssen Sie als contentType für printer/printerShare übergebenapplication/oxps, das unterstützt.application/pdf Universelles Drucken konvertiert OXPS in PDF, wenn alle folgenden Bedingungen erfüllt sind:

  1. Der Drucker/die Druckerfreigabe wird in printerCapabilities unterstütztapplication/pdf.
  2. Der Drucker/die Druckerfreigabe wird in printerCapabilities nicht unterstütztapplication/oxps.
  3. Der Wert für die contentType-Eigenschaft im Anforderungstext ist application/oxps.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und ein neues uploadSession-Objekt im Antworttext zurück.

Hinweis: Die uploadUrl-Eigenschaft , die als Teil des uploadSession-Antwortobjekts zurückgegeben wird, ist eine undurchsichtige URL für nachfolgende PUT Abfragen zum Hochladen von Bytebereichen der Datei. Es enthält das entsprechende Authentifizierungstoken für nachfolgende PUT Abfragen, die durch expirationDateTime ablaufen. Ändern Sie diese URL nicht.

Beispiele

Das folgende Beispiel zeigt, wie Sie eine Uploadsitzung erstellen, die Sie in nachfolgenden Dateiuploadvorgängen zum angegebenen printDocument verwenden können.

Anforderung

POST https://graph.microsoft.com/beta/print/shares/1c879027-5120-4aaf-954a-ebfd509a3bcc/jobs/46207/documents/9001bcd9-e36a-4f51-bfc6-140c3ad7f9f7/createUploadSession
Content-type: application/json

{
  "properties": {
    "documentName": "TestFile.pdf",
    "contentType": "application/pdf", 
    "size": 4533322
  }
}

Antwort

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.uploadSession",
    "uploadUrl": "https://print.print.microsoft.com/uploadSessions/5400be13-5a4e-4c20-be70-90c85bfe5d6e?tempauthtoken={token}",
    "expirationDateTime": "2020-10-25T02:19:38.1694207Z",
    "nextExpectedRanges": [
        "0-4533321"
    ]
}