สร้างและจัดการเครื่องพิมพ์

คำขอตัวอย่างในหน้านี้แสดงวิธีจัดการเครื่องพิมพ์ด้วย Chrome Printer Management API

คำขอตัวอย่างทั้งหมดใช้ตัวแปรต่อไปนี้

  • $TOKEN: โทเค็น OAuth 2.0 ของแอปพลิเคชัน
  • $CUSTOMER: รหัสลูกค้าที่ไม่ซ้ำกันของบัญชีองค์กร โดยจะมี "C" นำหน้า (เช่น C123abc4) คุณป้อน my_customer เพื่อระบุรหัสลูกค้าของบัญชีตัวเองได้ด้วย

แสดงรายการรุ่นเครื่องพิมพ์

ตัวอย่างนี้จะขอรายการรุ่นเครื่องพิมพ์ที่รองรับทั้งหมด

ส่งคำขอ

  curl -X GET \
  --header "Authorization: Bearer $TOKEN" \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers:listPrinterModels"

คำตอบ

{
  "printerModels": [
    {
      "manufacturer": "Anitech",
      "displayName": "Anitech M24",
      "makeAndModel": "anitech m24"
    },
    {
      "manufacturer": "Apollo",
      "displayName": "Apollo P-2100",
      "makeAndModel": "apollo apollo 2100"
    },
    //...
    {
      "manufacturer": "Brother",
      "displayName": "Brother DCP-7025",
      "makeAndModel": "brother dcp-7025"
    },
    //...
  ],
  "nextPageToken": "CGQQAQ=="
}

แสดงรายการหรือค้นหาเครื่องพิมพ์

ตัวอย่างนี้จะขอรายการเครื่องพิมพ์ทั้งหมดที่แสดงในรหัสหน่วยขององค์กร 04fatzly26exj7b และมีคำว่า Lobby ในชื่อหรือคำอธิบายที่แสดงของเครื่องพิมพ์

ส่งคำขอ

  curl -X GET  \
  --header "Authorization: Bearer $TOKEN" \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers?orgUnitId=04fatzly26exj7b&filter=Lobby"

คำตอบ

{
  "printers": [
     {
      "name": "customers/C0202nabg/chrome/printers/0gjdgxs2zla0y7",
      "id": "0gjdgxs2zla0y7",
      "displayName": "Jupiter",
      "description": "Guest printer in lobby Building C.",
      "makeAndModel": "xerox able 1406",
      "uri": "ipp://192.168.10.13",
      "createTime": "2021-03-11T21:41:34.779587Z",
      "orgUnitId": "04fatzly26exj7b" // Note: This printer was created in the same OU that we are searching within.
    },
    {
      "name": "customers/C0202nabg/chrome/printers/0gjdgxs1eqkb60",
      "id": "0gjdgxs1eqkb60",
      "displayName": "Mars",
      "description": "Printer in Lobby Building A",
      "uri": "ipp://192.168.10.11",
      "createTime": "2021-03-11T22:02:06.048469Z",
      "orgUnitId": "04fatzly4jbjho9", // Note: This printer was added in parent OU, yet is visible from the OU we are searching within.
      "useDriverlessConfig": true
    }
  ]
}

ซื้อเครื่องพิมพ์ที่ต้องการ

ตัวอย่างนี้จะขอรายละเอียดสำหรับเครื่องพิมพ์ที่มีรหัส 0gjdgxs2zla0y7

ส่งคำขอ

  curl -X GET  \
  --header "Authorization: Bearer $TOKEN" \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers/0gjdgxs2zla0y7"

คำตอบ

{
  "name": "customers/C0202nabg/chrome/printers/0gjdgxs2zla0y7",
  "id": "0gjdgxs2zla0y7",
  "displayName": "Jupiter",
  "description": "Guest printer in lobby Building C.",
  "makeAndModel": "xerox able 1406",
  "uri": "ipp://192.168.10.13",
  "createTime": "2021-03-11T21:41:34.779587Z",
  "orgUnitId": "04fatzly26exj7b"
}

สร้างเครื่องพิมพ์

ตัวอย่างนี้จะเพิ่มเครื่องพิมพ์ใหม่ในรหัสหน่วยขององค์กร 04fatzly26exj7b

ส่งคำขอ

curl -X POST \
  -H "Content-Type: application/json" \
  --header "Authorization: Bearer $TOKEN" \
  -d '{
    "displayName": "Mercury",
    "description": "Printer in the kitchen",
    "makeAndModel": "xerox able 1406",
    "uri": "ipp://192.168.10.14",
    "orgUnitId": "04fatzly26exj7b"
  }' \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers"

คำตอบ

{
  "name": "customers/C0202nabg/chrome/printers/0gjdgxs0o422uq",
  "id": "0gjdgxs0o422uq", // Note: This is the ID of the newly created printer.
  "displayName": "Mercury",
  "description": "Printer in the kitchen",
  "makeAndModel": "xerox able 1406",
  "uri": "ipp://192.168.10.14",
  "createTime": "2021-03-11T23:19:27.180846Z",
  "orgUnitId": "04fatzly26exj7b"
}

อัปเดตเครื่องพิมพ์

ตัวอย่างนี้จะอัปเดตคำอธิบายของรหัสเครื่องพิมพ์ 0gjdgxs0o422uq

ส่งคำขอ

curl -X PATCH \
  -H "Content-Type: application/json" \
  --header "Authorization: Bearer $TOKEN" \
  -d '{
    "description": "Printer in the office",
  }' \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers/0gjdgxs0o422uq?updateMask=description"

คำตอบ

{
  "name": "customers/C0202nabg/chrome/printers/0gjdgxs0o422uq",
  "id": "0gjdgxs0o422uq",
  "displayName": "Mercury",
  "description": "Printer in the office",
  "makeAndModel": "xerox able 1406",
  "uri": "ipp://192.168.10.14",
  "createTime": "2021-03-11T23:19:27.180846Z",
  "orgUnitId": "04fatzly26exj7b"
}

ลบเครื่องพิมพ์

ตัวอย่างนี้จะลบรหัสเครื่องพิมพ์ 0gjdgxs0o422uq

ส่งคำขอ

curl -X DELETE \
  --header "Authorization: Bearer $TOKEN" \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers/0gjdgxs0o422uq"

คำตอบ

การตอบกลับที่สำเร็จจะว่างเปล่า {}

สร้างเครื่องพิมพ์หลายเครื่องในคำขอเดียว

ตัวอย่างนี้จะสร้างเครื่องพิมพ์หลายเครื่องในคําขอเดียวโดยใช้วิธี batchCreatePrinters

ส่งคำขอ

curl -X POST \
  -H "Content-Type: application/json" \
  --header "Authorization: Bearer $TOKEN" \
  -d '{
    "requests": [
      {
        "parent": "customers/$CUSTOMER",
        "printer": {
          "displayName": "Earth",
          "description": "Color printer",
          "useDriverlessConfig": true,
          "uri": "ipp://192.168.10.15",
          "orgUnitId": "04fatzly26exj7b"
        }
    },
    {
        "parent": "customers/$CUSTOMER",
        "printer": {
          "displayName": "Saturn",
          "description": "Color printer",
          "useDriverlessConfig": true,
          "uri": "ipp://192.168.10.16",
          "orgUnitId": "04fatzly26exj7b"
        }
    }
  ]
  }' \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers:batchCreatePrinters"

คำตอบ

{
  "printers": [
    {
      "name": "customers/C0202nabg/chrome/printers/0gjdgxs0sbbh87",
      "id": "0gjdgxs0sbbh87",
      "displayName": "Saturn",
      "description": "Color printer",
      "uri": "ipp://192.168.10.16",
      "createTime": "2021-03-12T01:10:32.957084Z",
      "orgUnitId": "04fatzly26exj7b",
      "useDriverlessConfig": true
    },
    {
      "name": "customers/C0202nabg/chrome/printers/0gjdgxs2d6170e",
      "id": "0gjdgxs2d6170e",
      "displayName": "Earth",
      "description": "Color printer",
      "uri": "ipp://192.168.10.15",
      "createTime": "2021-03-12T01:10:32.956735Z",
      "orgUnitId": "04fatzly26exj7b",
      "useDriverlessConfig": true
    }
  ]
}

ลบเครื่องพิมพ์หลายเครื่องในคำขอเดียว

ตัวอย่างนี้จะลบเครื่องพิมพ์หลายเครื่องในคําขอเดียวโดยใช้วิธี batchDeletePrinters

ส่งคำขอ

curl -X POST \
  -H "Content-Type: application/json" \
  --header "Authorization: Bearer $TOKEN" \
  -d '{
    "printerIds": ["0gjdgxs0sbbh87", "0gjdgxs2d6170e"]
  }' \
  "https://admin.googleapis.com/admin/directory/v1/customers/$CUSTOMER/chrome/printers:batchDeletePrinters"

คำตอบ

{
  "printerIds": [ // Successfully deleted printers.
    "0gjdgxs2d6170e",
    "0gjdgxs0sbbh87"
  ]
}