printDocument: createUploadSession
Namespace: microsoft.graph
Wichtig
APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .
Erstellen Sie eine Uploadsitzung, mit der eine App iterative Bereiche einer mit dem Druckdokument verknüpften Binärdatei hochladen kann.
Als Teil der Antwort gibt diese Aktion eine Upload-URL zurück, die in nachfolgenden sequenziellen Abfragen PUT verwendet werden kann. Anforderungsheader für jeden Vorgang können verwendet werden, um den genauen Bytebereich anzugeben, PUT der hochgeladen werden soll. Dadurch kann die Übertragung fortgesetzt werden, falls die Netzwerkverbindung während des Uploads nicht mehr besteht.
Hinweis: Das Erstellen einer Uploadsitzung mithilfe von Anwendungsberechtigungen ist nur erfolgreich, wenn für den zugeordneten Druckauftrag ein printTask-Status vor liegt, der von einem Trigger gestartet wurde, den die anfordernde
processingApp erstellt hat. Weitere Informationen zum Registrieren eines Aufgabenauslösers finden Sie unter Extending Universal Print to support pull printing.
Berechtigungen
Zum Aufrufen dieser API ist eine der folgenden Berechtigungen erforderlich. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen. Zusätzlich zu den folgenden Berechtigungen muss der Mandant des Benutzers oder der App über ein aktives Universelles Druckabonnement verfügen und über eine Berechtigung verfügen, die drucker- oder druckerfreigabenzugriff erhalten gewährt, je nachdem, ob drucker oder printerShare verwendet wird.
| Berechtigungstyp | Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten) |
|---|---|
| Delegiert (Geschäfts-, Schul- oder Unikonto) | PrintJob.Create, PrintJob.ReadWrite, PrintJob.ReadWrite.All |
| Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt. |
| Anwendung | PrintJob.ReadWrite.All |
HTTP-Anforderung
So erstellen Sie eine Uploadsitzung mithilfe des Druckers:
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. |
| Content-type | application/json. Erforderlich. |
Anforderungstext
Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.
| Parameter | Typ | Beschreibung |
|---|---|---|
| properties | printDocumentUploadProperties | Stellt die Eigenschaften der zu hochladenden Binärdatei dar. |
Der Wert der contentType-Eigenschaft im Anforderungstext sollte vom Printer/printerShare unterstützt werden. Sie können die unterstützten Inhaltstypen abrufen, indem Sie printerCapabilities des Druckers/printerShare abrufen.
Für die KONVERTIERUNG von OXPS in PDF müssen Sie als contentType für application/oxps drucker/printerShare übergeben, der application/pdf unterstützt. Universal Print konvertiert OXPS in PDF, wenn alle folgenden Bedingungen erfüllt sind:
- Die Drucker-/Druckerfreigabe unterstützt
application/pdfin printerCapabilities. - Die Drucker-/Druckerfreigabe wird
application/oxpsin printerCapabilities NICHT unterstützt. - Der Wert für die contentType-Eigenschaft im Anforderungstext ist
application/oxps.
Antwort
Wenn die Methode erfolgreich ist, werden der Antwortcode und 200 OK ein neues uploadSession-Objekt im Antworttext zurückgegeben.
Hinweis: Die uploadUrl-Eigenschaft, die als Teil des uploadSession-Antwortobjekts zurückgegeben wird, ist eine undurchsichtige URL für nachfolgende Abfragen zum Hochladen von
PUTBytebereichen der Datei. Es enthält das entsprechende Authentifizierungstoken für nachfolgendePUTAbfragen, 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 in das angegebene 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"
]
}
Feedback
Feedback senden und anzeigen für