printDocument: createUploadSession
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Cree una sesión de carga que permita a una aplicación cargar iterativamente intervalos de un archivo binario vinculado al documento de impresión.
Como parte de la respuesta, esta acción devuelve una dirección URL de carga que se puede usar en consultas secuenciales PUT
posteriores. Los encabezados de solicitud para cada PUT
operación se pueden usar para especificar el intervalo exacto de bytes que se van a cargar. Esto permite reanudar la transferencia, en caso de que se quite la conexión de red durante la carga.
Nota: La creación de una sesión de carga con permisos de aplicación solo se realizará correctamente si hay un objeto printTask en un
processing
estado en el trabajo de impresión asociado, iniciado por un desencadenador que creó la aplicación solicitante. Para obtener más información sobre cómo registrar un desencadenador de tareas, consulte Extensión de impresión universal para admitir la impresión a presión.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | PrintJob.Create | PrintJob.ReadWrite, PrintJob.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | PrintJob.ReadWrite.All | No disponible. |
Solicitud HTTP
Para crear una sesión de carga mediante la impresora:
POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession
Para crear una sesión de carga con printerShare (compatible solo con permisos delegados):
POST /print/shares/{id}/jobs/{id}/documents/{id}/createUploadSession
Encabezados de solicitud
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Tipo de contenido | application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.
Parámetro | Tipo | Descripción |
---|---|---|
properties | printDocumentUploadProperties | Representa las propiedades del archivo binario que se va a cargar. |
El valor de la propiedad contentType en el cuerpo de la solicitud debe ser compatible con printer/printerShare. Para obtener los tipos de contenido admitidos, obtenga las funcionalidades de impresora de printer/printerShare.
Para la conversión de OXPS a PDF , debe pasar application/oxps
como contentType para printer/printerShare que admita application/pdf
.
Impresión universal convierte OXPS en PDF, cuando se cumplen todas las condiciones siguientes:
- El recurso compartido de impresora/impresora admite
application/pdf
en printerCapabilities. - El recurso compartido de impresora/impresora NO es compatible con
application/oxps
las capacidades de impresora. - El valor de la propiedad contentType en el cuerpo de la solicitud es
application/oxps
.
Respuesta
Si se ejecuta correctamente, este método devuelve un 200 OK
código de respuesta y un nuevo objeto uploadSession en el cuerpo de la respuesta.
Nota: La propiedad uploadUrl devuelta como parte del objeto de respuesta uploadSession es una dirección URL opaca para que las consultas posteriores
PUT
carguen intervalos de bytes del archivo. Contiene el token de autenticación adecuado para las consultas posterioresPUT
que expiran por expirationDateTime. No cambie esta dirección URL.
Ejemplos
En el ejemplo siguiente se muestra cómo crear una sesión de carga que puede usar en las operaciones de carga de archivos posteriores en printDocument especificado.
Solicitud
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
}
}
Respuesta
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"
]
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de