获取 printJob
命名空间:microsoft.graph
检索打印作业的属性和关系。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
除以下权限外,用户或应用的租户还必须具有活动的通用打印订阅。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
PrintJob.ReadBasic、PrintJob.Read、PrintJob.ReadBasic.All、PrintJob.Read.All、PrintJob.ReadWriteBasic、PrintJob.ReadWrite、PrintJob.ReadWriteBasic.All、PrintJob.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| Application |
PrintJob.ReadBasic.All、PrintJob.Read.All、PrintJob.ReadWriteBasic.All、PrintJob.ReadWrite.All |
对于具有检索其他用户作业的委派权限的应用,登录用户必须是以下管理员角色之一的成员:
对于具有应用程序权限以检索用户作业的应用,应用需要授予 Get 打印机 访问权限的权限以及“ 权限 ”表中所述的应用程序权限之一。
HTTP 请求
若要从打印机获取作业,请执行以下操作:
GET /print/printers/{id}/jobs/{id}
若要从打印机共享获取作业,
GET /print/shares/{id}/jobs/{id}
可选的查询参数
此方法支持一些 OData 查询参数来帮助自定义响应。 若要了解一般信息,请参阅 OData 查询参数。
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和 printJob 对象。
示例
示例 1:获取打印作业
请求
下面是请求获取打印作业的元数据的示例。
GET https://graph.microsoft.com/v1.0/print/printers/{printerId}/jobs/{printJobId}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var printJob = await graphClient.Print.Printers["{printer-id}"].Jobs["{printJob-id}"]
.Request()
.GetAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
let printJob = await client.api('/print/printers/{printerId}/jobs/{printJobId}')
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/print/printers/{printerId}/jobs/{printJobId}"]]];
[urlRequest setHTTPMethod:@"GET"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
MSGraphPrintJob *printJob = [[MSGraphPrintJob alloc] initWithData:data error:&nserror];
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrintJob printJob = graphClient.print().printers("{printerId}").jobs("{printJobId}")
.buildRequest()
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/printers('c05f3726-0d4b-4aa1-8fe9-2eb981bb26fb')/jobs/$entity",
"id": "5182",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"createdBy": {
},
"configuration": {
},
"status": {
"state": "completed",
"description": "The print job has completed successfully and no further processing will take place.",
"details": [
],
"isAcquiredByPrinter": true
},
"redirectedTo": null,
"redirectedFrom": null,
"isFetchable": false
}
示例 2:使用任务列表获取打印作业
请求
下面是获取打印作业的请求,以及针对它执行或已执行的任何 任务 。
GET https://graph.microsoft.com/v1.0/print/printers/{printerId}/jobs/{printJobId}?$expand=tasks
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var printJob = await graphClient.Print.Printers["{printer-id}"].Jobs["{printJob-id}"]
.Request()
.Expand("tasks")
.GetAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
let printJob = await client.api('/print/printers/{printerId}/jobs/{printJobId}')
.expand('tasks')
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/print/printers/{printerId}/jobs/{printJobId}?$expand=tasks"]]];
[urlRequest setHTTPMethod:@"GET"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
MSGraphPrintJob *printJob = [[MSGraphPrintJob alloc] initWithData:data error:&nserror];
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrintJob printJob = graphClient.print().printers("{printerId}").jobs("{printJobId}")
.buildRequest()
.expand("tasks")
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/printers('c05f3726-0d4b-4aa1-8fe9-2eb981bb26fb')/jobs/$entity",
"id": "5182",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"createdBy": {
},
"configuration": {
},
"status": {
"state": "completed",
"description": "The print job has completed successfully and no further processing will take place.",
"details": [
],
"isAcquiredByPrinter": true
},
"redirectedTo": null,
"redirectedFrom": null,
"isFetchable": false,
"tasks": [
{
"id": "d036638b-1272-4bba-9227-732463823ed3",
"parentUrl": "https://graph.microsoft.com/v1.0/print/printers/c05f3726-0d4b-4aa1-8fe9-2eb981bb26fb/jobs/5182",
"status": {
"state": "processing",
"description": "The task is being processed."
}
}
]
}
示例 3:获取打印作业及其关联的文档数据
请求
下面是请求获取打印作业及其关联文档数据的示例。
GET https://graph.microsoft.com/v1.0/print/printers/{printerId}/jobs/{printJobId}?$expand=documents
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var printJob = await graphClient.Print.Printers["{printer-id}"].Jobs["{printJob-id}"]
.Request()
.Expand("documents")
.GetAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
let printJob = await client.api('/print/printers/{printerId}/jobs/{printJobId}')
.expand('documents')
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/print/printers/{printerId}/jobs/{printJobId}?$expand=documents"]]];
[urlRequest setHTTPMethod:@"GET"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
MSGraphPrintJob *printJob = [[MSGraphPrintJob alloc] initWithData:data error:&nserror];
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrintJob printJob = graphClient.print().printers("{printerId}").jobs("{printJobId}")
.buildRequest()
.expand("documents")
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/printers('c05f3726-0d4b-4aa1-8fe9-2eb981bb26fb')/jobs/$entity",
"id": "5182",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"createdBy": {
},
"configuration": {
},
"status": {
"state": "completed",
"description": "The print job has completed successfully and no further processing will take place.",
"details": [
],
"isAcquiredByPrinter": true
},
"redirectedTo": null,
"redirectedFrom": null,
"isFetchable": false,
"documents": [
{
"id": "ca96c367-c3ad-478a-bbce-fbd1cd856e73",
"displayName": "",
"contentType": "application/oxps",
"size": 276604
}
]
}