printDocument : createUploadSession
Espace de noms: microsoft.graph
Importante
Les API sous la version /beta
dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Créez une session de chargement qui permet à une application de charger de manière itérative des plages d’un fichier binaire lié au document à imprimer.
Dans le cadre de la réponse, cette action retourne une URL de chargement qui peut être utilisée dans les requêtes séquentielles PUT
suivantes. Les en-têtes de requête pour chaque PUT
opération peuvent être utilisés pour spécifier la plage exacte d’octets à charger. Cela permet de reprendre le transfert, au cas où la connexion réseau serait interrompue pendant le chargement.
Remarque : La création d’une session de chargement à l’aide des autorisations d’application réussit uniquement s’il existe une tâche printTask dans un
processing
état sur la tâche d’impression associée, démarrée par un déclencheur créé par l’application à la demande. Pour plus d’informations sur l’inscription d’un déclencheur de tâche, consultez Extension de l’impression universelle pour prendre en charge l’impression par extraction.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | PrintJob.Create | PrintJob.ReadWrite, PrintJob.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | PrintJob.ReadWrite.All | Non disponible. |
Requête HTTP
Pour créer une session de chargement à l’aide d’une imprimante :
POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession
Pour créer une session de chargement à l’aide d’printerShare (pris en charge avec des autorisations déléguées uniquement) :
POST /print/shares/{id}/jobs/{id}/documents/{id}/createUploadSession
En-têtes de demande
Nom | Description |
---|---|
Autorisation | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-type | application/json. Obligatoire. |
Corps de la demande
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
propriétés | printDocumentUploadProperties | Représente les propriétés du fichier binaire à charger. |
La valeur de la propriété contentType dans le corps de la requête doit être prise en charge par printer/printerShare. Vous pouvez obtenir les types de contenu pris en charge en obtenant printerCapabilities de l’printer/printerShare.
Pour la conversion OXPS en PDF , vous devez passer application/oxps
en tant que contentType pour printer/printerShare qui prend en charge application/pdf
.
L’impression universelle convertit OXPS en PDF, lorsque toutes les conditions suivantes sont remplies :
- Le partage imprimante/imprimante prend en charge
application/pdf
dans printerCapabilities. - Le partage imprimante/imprimante ne prend PAS en charge
application/oxps
dans printerCapabilities. - La valeur de la propriété contentType dans le corps de la demande est
application/oxps
.
Réponse
Si elle réussit, cette méthode renvoie un 200 OK
code de réponse et un nouvel objet uploadSession dans le corps de la réponse.
Remarque : la propriété uploadUrl retournée dans le cadre de l’objet de réponse uploadSession est une URL opaque pour les requêtes suivantes
PUT
pour charger des plages d’octets du fichier. Il contient le jeton d’authentification approprié pour les requêtes suivantesPUT
qui expirent par expirationDateTime. Ne modifiez pas cette URL.
Exemples
L’exemple suivant montre comment créer une session de chargement que vous pouvez utiliser dans les opérations de chargement de fichiers suivantes dans le printDocument spécifié.
Demande
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
}
}
Réponse
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"
]
}