更新打印机

命名空间:microsoft.graph

更新 打印机 对象的属性。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Printer.ReadWrite.All Printer.FullControl.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 Printer.ReadWrite.All 不可用。

注意: 目前,只有没有物理设备的打印机可以使用应用程序权限进行更新。

HTTP 请求

PATCH /print/printers/{printerId}

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-type application/json 使用委托的权限 application/ipp 或使用 application/json 应用程序权限时。 必填。

请求正文

委托的权限和 JSON 有效负载

如果使用委托的权限,请在请求正文中提供应更新的相关 打印机 字段的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。 为了获得最佳性能,请勿加入尚未更改的现有值。

可以使用委托的权限更新以下属性。

属性 类型 说明
defaults printerDefaults 打印机的默认打印设置。
位置 printerLocation 打印机的物理和/或组织位置。
displayName String 打印机的名称。

应用程序权限和 JSON 有效负载

在请求正文中,提供应更新的相关 打印机 字段的值。 请求正文中未包含的现有属性会保留其以前的值,或根据对其他属性值的更改重新计算。 为了获得最佳性能,请勿加入尚未更改的现有值。

可以使用应用程序权限更新以下属性。

属性 类型 说明
defaults printerDefaults 打印机的默认打印设置。
capabilities printerCapabilities 与此打印机共享关联的打印机的功能。
displayName String 打印机的名称。
manufacturer String 打印机的制造商。
model String 打印机的型号名称。
status printerStatus 打印机的处理状态,包括任何错误。
isAcceptingJobs 布尔值 打印机当前是否接受新的打印作业。

应用程序权限和 IPP 有效负载

借助应用程序权限,还可以使用 Internet 打印协议 (IPP) 有效负载来更新打印机。 在这种情况下,请求正文包含一个二进制流,该流表示 IPP 编码中的打印机属性组。

客户端必须为一组打印机属性提供一个或多个值 (包括显式允许的带外值) ,如RFC8011第 5.2 部分 “作业模板属性” (“xxx-default”、“xxx-supported”和“xxx-ready”属性) , 第 5.4 节 打印机描述属性。 客户端还必须提供打印机支持的任何属性扩展。 提供的每个 Printer 属性的值 (s) 将替换目标 Printer 对象上相应 Printer 属性的值 (s) 。 对于可以具有多个值 (1setOf) 的属性,客户端提供的所有值将替换相应 Printer 对象属性的所有值。

注意: 不要在请求正文中传递操作属性。 请求正文应仅包含打印机属性。

注意: 对于使用特定平台的打印机,它应满足该平台的要求。 例如,在 Windows 客户端上,打印机应指定根据 MOPRIA 规范被视为必需的所有属性。 请注意,MOPRIA 规格仅适用于 MOPRIA 的付费会员。

响应

委托的权限和 JSON 有效负载

如果使用委托的权限,如果成功,此方法在 200 OK 响应正文中返回响应代码和更新的 打印机 对象。

应用程序权限和 JSON 有效负载

如果使用委托的权限,如果成功,此方法在 200 OK 响应正文中返回响应代码和更新的 打印机 对象。

应用程序权限和 IPP 有效负载

如果使用应用程序权限,如果成功,此方法将 204 No content 返回响应代码。 它不会在响应正文中返回任何内容。

示例

请求

以下示例显示了一个请求。

PATCH https://graph.microsoft.com/v1.0/print/printers/{printerId}
Content-Type: application/json

{
  "name": "PrinterName",
  "location": {
    "latitude": 1.1,
    "longitude": 2.2,
    "altitudeInMeters": 3
  }
}

响应

以下示例显示了相应的响应。 注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/printers/$entity",
  "id": "016b5565-3bbf-4067-b9ff-4d68167eb1a6",
  "displayName": "PrinterName",
  "manufacturer": "PrinterManufacturer",
  "model": "PrinterModel",
  "isShared": true,
  "registeredDateTime": "2020-02-04T00:00:00.0000000Z",
  "isAcceptingJobs": true,
  "status": {
    "state": "idle",
    "details": [],
    "description": ""
  },
  "defaults": {
    "copiesPerJob":1,
    "contentType": "application/oxps",
    "finishings": ["none"],
    "mediaType": "stationery"
  },
  "location": {
    "latitude": 1.1,
    "longitude": 2.2,
    "altitudeInMeters": 3,
    "streetAddress": "One Microsoft Way",
    "subUnit": [
        "Main Plaza",
        "Unit 400"
    ],
    "city": "Redmond",
    "postalCode": "98052",
    "countryOrRegion": "USA",
    "site": "Puget Sound",
    "building": "Studio E",
    "floor": "1",
    "floorDescription": "First Floor",
    "roomName": "1234",
    "roomDescription": "First floor copy room",
    "organization": [
        "C+AI",
        "Microsoft Graph"
    ],
    "subdivision": [
        "King County",
        "Red West"
    ],
    "stateOrProvince": "Washington"
  }
}