printDocument: createUploadSession
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте сеанс отправки, который позволяет приложению итеративно передавать диапазоны двоичного файла, связанного с документом печати.
В рамках ответа это действие возвращает URL-адрес отправки, который можно использовать в последующих последовательных PUT
запросах. Заголовки запросов для каждой PUT
операции можно использовать для указания точного диапазона передаваемых байтов. Это позволяет возобновить передачу в случае, если сетевое подключение будет прервано во время отправки.
Примечание. Создание сеанса отправки с помощью разрешений приложения будет успешным только в том случае, если в
processing
связанном задании печати находится параметр printTask, запущенный триггером, созданным запрашивающим приложением. Дополнительные сведения о регистрации триггера задачи см. в разделе Расширение универсальной печати для поддержки печати по запросу.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | PrintJob.Create | PrintJob.ReadWrite, PrintJob.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | PrintJob.ReadWrite.All | Недоступно. |
HTTP-запрос
Чтобы создать сеанс отправки с помощью принтера, выполните приведенные далее действия.
POST /print/printers/{id}/jobs/{id}/documents/{id}/createUploadSession
Создание сеанса отправки с помощью printerShare (поддерживается только с делегированными разрешениями):
POST /print/shares/{id}/jobs/{id}/documents/{id}/createUploadSession
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.
Параметр | Тип | Описание |
---|---|---|
properties | printDocumentUploadProperties | Представляет свойства передаваемого двоичного файла. |
Значение свойства contentType в тексте запроса должно поддерживаться параметром printer/printerShare. Поддерживаемые типы контента можно получить, получив значение printerCapabilities принтера или printerShare.
Для преобразования OXPS в PDF необходимо передать application/oxps
в качестве contentType для printer/printerShare, который поддерживает application/pdf
.
Универсальная печать преобразует OXPS в PDF при выполнении всех следующих условий:
- Общий ресурс принтера или принтера поддерживает
application/pdf
в printerCapabilities. - Общая папка принтера или принтера НЕ поддерживается
application/oxps
в printerCapabilities. - Значение свойства contentType в тексте запроса —
application/oxps
.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK
и новый объект uploadSession в тексте отклика.
Примечание. Свойство uploadUrl , возвращаемое как часть объекта ответа uploadSession , является непрозрачным URL-адресом для последующих
PUT
запросов к отправке диапазонов байтов файла. Он содержит соответствующий маркер проверки подлинности для последующихPUT
запросов, срок действия которых истекает по истечении срока действияDateTime. Не изменяйте этот URL-адрес.
Примеры
В следующем примере показано, как создать сеанс отправки, который можно использовать в последующих операциях отправки файлов в указанный printDocument.
Запрос
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
}
}
Отклик
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"
]
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по