printDocument: createUploadSession
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Crie uma sessão de upload que permita que um aplicativo carregue iterativamente intervalos de um arquivo binário vinculado ao documento de impressão.
Como parte da resposta, essa ação retorna uma URL de upload que pode ser usada em consultas sequenciais PUT
subsequentes. Os cabeçalhos de solicitação para cada PUT
operação podem ser usados para especificar o intervalo exato de bytes a serem carregados. Isso permite que a transferência seja retomada, caso a conexão de rede seja descartada durante o upload.
Observação: a criação de uma sessão de upload usando permissões de aplicativo só será bem-sucedida se houver um printTask em um
processing
estado no trabalho de impressão associado, iniciado por um gatilho que o aplicativo de solicitação criou. Para obter detalhes sobre como registrar um gatilho de tarefa, consulte Estendendo a Impressão Universal para dar suporte à impressão pull.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | PrintJob.Create | PrintJob.ReadWrite, PrintJob.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Aplicativo | PrintJob.ReadWrite.All | Indisponível. |
Solicitação HTTP
Para criar uma sessão de upload usando a impressora:
POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession
Para criar uma sessão de upload usando o printerShare (com suporte apenas com permissões delegadas):
POST /print/shares/{id}/jobs/{id}/documents/{id}/createUploadSession
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-type | application/json. Obrigatório. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
Parâmetro | Tipo | Descrição |
---|---|---|
properties | printDocumentUploadProperties | Representa as propriedades do arquivo binário a ser carregado. |
O valor da propriedade contentType no corpo da solicitação deve ser suportado pela impressora/impressoraShare. Você pode obter os tipos de conteúdo com suporte obtendo impressoraCapabilidades da impressora/impressoraShare.
Para conversão de OXPS para PDF , você precisa passar application/oxps
como contentType para impressora/printerShare que dá application/pdf
suporte a .
A Impressão Universal converte o OXPS em PDF quando todas as seguintes condições são atendidas:
- O compartilhamento de impressora/impressora é
application/pdf
compatível com impressoraCapabilities. - O compartilhamento de impressora/impressora NÃO dá suporte
application/oxps
a impressoraCapabilities. - O valor da propriedade contentType no corpo da solicitação é
application/oxps
.
Resposta
Se for bem-sucedido, esse método retornará um 200 OK
código de resposta e um novo objeto uploadSession no corpo da resposta.
Observação: a propriedade uploadUrl retornada como parte do objeto de resposta uploadSession é uma URL opaca para consultas subsequentes
PUT
para carregar intervalos de bytes do arquivo. Ele contém o token de auth apropriado para consultas subsequentesPUT
que expiram por expirationDateTime. Não altere essa URL.
Exemplos
O exemplo a seguir mostra como criar uma sessão de upload que você pode usar em operações de carregamento de arquivo subsequentes para o printDocument especificado.
Solicitação
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
}
}
Resposta
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"
]
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de