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.
Im Rahmen 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 Bytebereich anzugeben, der hochgeladen werden soll. Dadurch kann die Übertragung fortgesetzt werden, falls die Netzwerkverbindung während des Uploads unterbrochen wird.
Hinweis: Das Erstellen einer Uploadsitzung mit Anwendungsberechtigungen ist nur erfolgreich, wenn ein printTask im
processing
zugehörigen Druckauftrag vorhanden ist, der von einem Trigger gestartet wurde, den die anfordernde App erstellt hat. Ausführliche Informationen zum Registrieren eines Tasktriggers finden Sie unter Erweitern des universellen Druckens zur Unterstützung des Pulldrucks.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst | US Government L4 | US Government L5 (DOD) | China, betrieben von 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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 |
Anwendung | PrintJob.ReadWrite.All | Nicht verfügbar. |
HTTP-Anforderung
So erstellen Sie eine Uploadsitzung mit dem 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 die 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 die Eigenschaften der hochzuladenden Binärdatei dar. |
Der Wert der contentType-Eigenschaft im Anforderungstext sollte vom Drucker/printerShare unterstützt werden. Sie können die unterstützten Inhaltstypen abrufen, indem Sie printerCapabilities of the printer/printerShare abrufen.
Für die Konvertierung von OXPS in PDF müssen Sie als contentType für printer/printerShare übergeben application/oxps
, der unterstützt application/pdf
.
Universal Print konvertiert OXPS in PDF, wenn alle folgenden Bedingungen erfüllt sind:
- Die Drucker-/Druckerfreigabe unterstützt
application/pdf
in printerCapabilities. - Die Drucker-/Druckerfreigabe unterstützt
application/oxps
in printerCapabilities NICHT. - Der Wert für die contentType-Eigenschaft im Anforderungstext ist
application/oxps
.
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 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 nicht transparente URL für nachfolgende
PUT
Abfragen zum Hochladen von Bytebereichen der Datei. Es enthält das entsprechende Authentifizierungstoken für nachfolgendePUT
Abfragen, die um 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"
]
}