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 de versão.
Crie uma sessão de carregamento que permita que um aplicativo carregue de forma iterativa intervalos de um arquivo binário vinculado ao documento de impressão.
Como parte da resposta, essa ação retorna uma URL de carregamento que pode ser usada em consultas PUT sequenciais subsequentes. Os headers de solicitação para cada operação podem ser usados para especificar o intervalo exato de PUT bytes a serem carregados. Isso permite que a transferência seja retomada, caso a conexão de rede seja largada durante o carregamento.
Observação: a criação de uma sessão de carregamento usando permissões de aplicativo só terá êxito se houver um printTask em um estado no trabalho de impressão associado, iniciado por um gatilho criado pelo aplicativo
processingsolicitante. Para obter detalhes sobre como registrar um gatilho de tarefas, consulte Extending Universal Print to support pull printing.
Permissões
Uma das seguintes permissões é necessária para chamar essa API. Para saber mais, incluindo como escolher permissões, confira Permissões. Além das permissões a seguir, o usuário ou locatário do aplicativo deve ter uma assinatura de Impressão Universal ativa e ter uma permissão que conceda Obter impressora ou Obter acesso a PrinterShare, dependendo se a impressora ou impressoraShare está sendo usada.
| Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
|---|---|
| Delegado (conta corporativa ou de estudante) | PrintJob.Create, PrintJob.ReadWrite, PrintJob.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | Sem suporte. |
| Aplicativo | PrintJob.ReadWrite.All |
Solicitação HTTP
Para criar uma sessão de carregamento usando impressora:
POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession
Para criar uma sessão de carregamento usando 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. |
| 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 |
|---|---|---|
| propriedades | printDocumentUploadProperties | Representa propriedades do arquivo binário a ser carregado. |
O valor da propriedade contentType no corpo da solicitação deve ser suportado pela impressora/printerShare. Você pode obter os tipos de conteúdo com suporte ao obter printerCapabilities da impressora/printerShare.
Para conversão de OXPS para PDF, você precisa passar application/oxps como contentType para printer/printerShare que oferece suporte application/pdf a . Impressão Universal converte OXPS em PDF, quando todas as seguintes condições são atendidas:
- O compartilhamento de impressora/impressora é
application/pdfcompatível com printerCapabilities. - O compartilhamento de impressora/impressora NÃO é
application/oxpssuportado em printerCapabilities. - O valor da propriedade contentType no corpo da solicitação é
application/oxps.
Resposta
Se tiver êxito, este método retornará um código de resposta e um 200 OK 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 para carregar intervalos de
PUTbyte do arquivo. Ele contém o token de auth apropriado para consultasPUTsubsequentes que expiram por expirationDateTime. Não altere essa URL.
Exemplos
O exemplo a seguir mostra como criar uma sessão de carregamento que você pode usar nas operações subsequentes de carregamento de arquivo 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
Enviar e exibir comentários de