Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: 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 раздела printer/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"
]
}