Enterprise License Manager API: คู่มือสำหรับนักพัฒนาซอฟต์แวร์

เอกสารนี้อธิบายวิธีที่ผู้ดูแลระบบระดับบัญชีและผู้ค้าปลีกสามารถใช้ Enterprise License Manager API เพื่อจัดการการมอบหมายใบอนุญาตของผู้ใช้ เมื่อเปิดใช้ใบอนุญาต SKU ของผลิตภัณฑ์ในบัญชีและสร้างผู้ใช้แล้ว ให้ใช้ Enterprise License Manager API เพื่อมอบหมาย อัปเดต เรียกข้อมูล และลบใบอนุญาตสำหรับผู้ใช้ของบัญชี

ในเวอร์ชันนี้ ผู้ดูแลระบบบัญชีและตัวแทนจำหน่ายจะใช้ Enterprise License Manager API ผู้ดูแลระบบที่ได้รับมอบสิทธิ์ที่มีสิทธิ์ License Management สามารถใช้ Enterprise License Manager API ได้ด้วย

หมายเหตุ: ลูกค้า Google จะใช้ Enterprise License Manager API ดูข้อมูลเกี่ยวกับวิธีที่นักพัฒนาแอปพลิเคชันของบุคคลที่สามของ Google จัดการใบอนุญาตได้ที่ Google Workspace Marketplace API

Enterprise License Manager API อิงตามแนวทางการออกแบบ Representational State Transfer (RESTful) สําหรับเว็บเซอร์วิส

การจัดการใบอนุญาต

มอบหมายใบอนุญาต

ก่อนหน้านี้ ลูกค้าหรือตัวแทนจำหน่ายได้สั่งซื้อใบอนุญาตผลิตภัณฑ์ Google และสร้างผู้ใช้แล้ว หากต้องการมอบหมายใบอนุญาตผลิตภัณฑ์รายการใดรายการหนึ่งเหล่านี้ให้กับผู้ใช้รายนี้ ให้ใช้คำขอ HTTP POST ต่อไปนี้ รวมส่วนหัว Authorization ตามที่อธิบายไว้ในการให้สิทธิ์คำขอ ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user

หมายเหตุ: ผู้ใช้จะได้รับมอบหมายใบอนุญาตสำหรับผลิตภัณฑ์ต่างๆ ของ Google ในวงกว้าง แต่ผู้ใช้จะได้รับมอบหมายใบอนุญาต SKU เพียง 1 ใบต่อผลิตภัณฑ์เท่านั้น เมื่อใช้ API คุณจะมอบหมายใบอนุญาต SKU ของผู้ใช้ให้กับใบอนุญาต SKU อื่นภายในผลิตภัณฑ์ได้

ตัวอย่างนี้จะกำหนด SKU Google-Drive-storage-20GB ให้กับผู้ใช้ที่มีอีเมลหลักคือ alex@example.com

POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user

เนื้อหาคำขอ JSON

{
  "userId" : "alex@example.com",
}

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API หากดำเนินการสำเร็จ การตอบกลับจะแสดงสถานะการมอบหมายใบอนุญาตในรูปแบบข้อมูล JSON

การตอบกลับ JSON

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-20GB",
  "skuName": "Google Drive storage 20 GB",
  "productName": "Google Drive storage"
}

ดูข้อมูลเพิ่มเติมได้ที่หน้าข้อมูลอ้างอิงเมธอดแทรกของ licenseAssignments

มอบหมาย SKU ผลิตภัณฑ์ของผู้ใช้ใหม่เป็น SKU อื่นในผลิตภัณฑ์เดียวกัน

หากต้องการมอบหมายใบอนุญาตของผู้ใช้ให้กับ SKU ใบอนุญาตใหม่ภายในผลิตภัณฑ์เดียวกัน ให้ใช้PUTคำขอ HTTP ต่อไปนี้ นอกจากนี้ API ยังรองรับไวยากรณ์แพตช์ด้วย ใส่ส่วนหัว Authorization ตามที่อธิบายไว้ในคําขอการให้สิทธิ์ ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email

ตัวอย่างนี้จะอัปเดต SKU ที่มีอยู่ Google-Drive-storage-20GB เป็น Google-Drive-storage-50GB SKU ของใบอนุญาตปัจจุบันอยู่ใน URI ของคำขอและ SKU ของใบอนุญาตใหม่อยู่ในเนื้อหาของคำขอ

PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com

เนื้อความคำขอ JSON มีข้อมูลต่อไปนี้

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API หากดำเนินการสำเร็จ การตอบกลับจะแสดงสถานะการมอบหมายใบอนุญาตในรูปแบบข้อมูล JSON

การตอบกลับ JSON

{
  "kind": "licensing#licenseAssignment",
  "etags": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "alex@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

ดูข้อมูลเพิ่มเติมได้ที่หน้าข้อมูลอ้างอิงวิธีการอัปเดตและวิธีการแก้ไขของ licenseAssignments

ดึงข้อมูลใบอนุญาตของผู้ใช้ทั้งหมดที่มอบหมายสำหรับผลิตภัณฑ์ที่เฉพาะเจาะจง

หากต้องการดูใบอนุญาตของผู้ใช้ทั้งหมดสำหรับผลิตภัณฑ์หนึ่งๆ ให้ใช้คำขอ HTTP GET ต่อไปนี้ ใส่ส่วนหัว Authorization ตามที่อธิบายไว้ในคําขอการให้สิทธิ์ สตริงการค้นหา customerId คือชื่อโดเมนหลักของลูกค้า สตริงการค้นหา maxResults จะกำหนดจํานวนรายการใบอนุญาตของผู้ใช้ที่แสดงในคําตอบของ API

GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page

ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

ตัวอย่างนี้จะแสดงหน้าแรกของผลลัพธ์สำหรับผู้ใช้ทุกคนในโดเมน example.com ที่ได้รับมอบหมายใบอนุญาตสำหรับผลิตภัณฑ์พื้นที่เก็บข้อมูล Google ไดรฟ์

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2

การตอบกลับที่สำเร็จจะแสดง200 รหัสสถานะ HTTP ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API หากสำเร็จ การตอบกลับจะแสดงรายการการอนุญาตให้ใช้สิทธิในรูปแบบ JSON

การตอบกลับ JSON

{
  "kind" : "licensing#licenseAssignmentList",
  "etag": "etag value",
  "nextPageToken" : "the next page token value",
  "items": [
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
    "userId": "alex@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-50GB",
    "skuName": "Google Drive storage 50 GB",
    "productName": "Google Drive storage"
  },
  {
    "kind": "licensing#licenseAssignment",
    "etags": "etag value",
    "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/keshav@example.com",
    "userId": "keshav@example.com",
    "productId": "Google-Drive-storage",
    "skuId": "Google-Drive-storage-200GB",
    "skuName": "Google Drive storage 200 GB",
    "productName": "Google Drive storage"
  },
  ...
}

ดูข้อมูลเพิ่มเติมได้ที่หน้าข้อมูลอ้างอิงเมธอด listForProduct ของ licenseAssignments

เรียกข้อมูลใบอนุญาตที่มอบหมายให้กับผู้ใช้ทั้งหมดสำหรับ SKU ผลิตภัณฑ์ที่เฉพาะเจาะจง

หากต้องการดูรายชื่อผู้ใช้ทั้งหมดที่มีใบอนุญาตสำหรับ SKU ของผลิตภัณฑ์ที่เฉพาะเจาะจง ให้ใช้GETคำขอ HTTP ต่อไปนี้ ใส่ส่วนหัว Authorization ตามที่อธิบายไว้ในคําขอการให้สิทธิ์ สตริงการค้นหา customerId คือชื่อโดเมนหลักของลูกค้า สตริงการค้นหา maxResults จะกําหนดจํานวนรายการผู้ใช้ที่แสดงในคําตอบของ API

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page

ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

ตัวอย่างนี้แสดงหน้าแรกของผู้ใช้ทั้งหมดในโดเมน example.com ที่ได้รับมอบหมายใบอนุญาตสำหรับ SKU ของ Google-Drive-storage-200GB การตอบกลับจะแสดงรายการผู้ใช้ 2 รายการต่อหน้า

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2

การตอบกลับที่สำเร็จจะแสดง200 รหัสสถานะ HTTP ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API หากดำเนินการสำเร็จ ระบบจะแสดงรายการการอนุญาตให้ใช้สิทธิในรูปแบบ JSON

การตอบกลับ JSON

{
  "kind" : "licensing#licenseAssignmentList",
   "etag": "etag value",
   "nextPageToken" : "next page token's value",
   "items": [
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/alex@example.com",
     "userId": "alex@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    {
     "kind": "licensing#licenseAssignment",
     "etags": "etag value",
     "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/mary@example.com",
     "userId": "mary@example.com",
     "productId": "Google-Drive-storage",
     "skuId": "Google-Drive-storage-200GB",
     "skuName": "Google Drive storage 200 GB",
     "productName": "Google Drive storage"
    },
    ...
  }

ดูข้อมูลเพิ่มเติมได้ที่หน้าข้อมูลอ้างอิงเมธอด listForProductAndSku ของ licenseAssignments

เรียกข้อมูลใบอนุญาตของผู้ใช้ที่เฉพาะเจาะจงตาม SKU ของผลิตภัณฑ์

หากต้องการดูใบอนุญาตของผู้ใช้ที่เฉพาะเจาะจงตาม SKU ของผลิตภัณฑ์ ให้ใช้GETคำขอ HTTP ต่อไปนี้ ใส่ส่วนหัว Authorization ตามที่อธิบายไว้ในคําขอการให้สิทธิ์ ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

ตัวอย่างนี้จะรับ SKU ผลิตภัณฑ์พื้นที่เก็บข้อมูล Google ไดรฟ์ 50 GB สำหรับผู้ใช้ที่มี userId เป็น alex@example.com

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

หากผู้ใช้มีใบอนุญาตนี้ แสดงว่าคำตอบสำเร็จและได้รับ200 รหัสสถานะ HTTP ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API หากสำเร็จ การตอบกลับจะแสดงใบอนุญาตของผู้ใช้ในรูปแบบ JSON

การตอบกลับ JSON

{
  "kind": "licensing#licenseAssignment",
  "etag": "etag value",
  "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com",
  "userId": "keshav@example.com",
  "productId": "Google-Drive-storage",
  "skuId": "Google-Drive-storage-50GB",
  "skuName": "Google Drive storage 50 GB",
  "productName": "Google Drive storage"
}

ดูข้อมูลเพิ่มเติมได้ที่หน้าข้อมูลอ้างอิงเมธอด get ของ licenseAssignments

ลบใบอนุญาต

หากต้องการยกเลิกการกำหนดใบอนุญาตจากผู้ใช้ ให้ใช้คำขอ DELETE HTTP ต่อไปนี้ ใส่ส่วนหัว Authorization ตามที่อธิบายไว้ในคําขอการให้สิทธิ์ ดูรหัสผลิตภัณฑ์และ SKU ได้ที่ผลิตภัณฑ์และ SKU ที่พร้อมใช้งานของ API

DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

ตัวอย่างนี้เป็นการยกเลิกการกำหนดใบอนุญาต Google-Drive-storage-50GB ให้กับผู้ใช้ที่มี userId เป็น alex@example.com

DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

การตอบกลับที่สำเร็จจะแสดง200 รหัสสถานะ HTTP ดูรหัสข้อผิดพลาดที่เป็นไปได้ได้ที่รหัสข้อผิดพลาดของ API

โปรดดูข้อมูลเพิ่มเติมในหน้าข้อมูลอ้างอิงวิธีลบของ LicenseAssignments

รหัสข้อผิดพลาด

หากคำขอไม่สำเร็จ คำตอบจะมีคำอธิบายสั้นๆ เกี่ยวกับข้อผิดพลาด ดังนี้

รหัสข้อผิดพลาด คำอธิบาย
400 คำขอไม่ถูกต้อง - อีเมลของผู้ใช้ไม่ถูกต้อง
400 คำขอไม่ถูกต้อง - ไม่มี SKU/ผลิตภัณฑ์
401 ผู้ใช้ไม่มีข้อมูลเข้าสู่ระบบเพื่อเรียกใช้ API นี้
404 หากผู้ใช้ไม่มีใบอนุญาตนี้ การตอบกลับจะมีรหัสข้อผิดพลาด "ไม่พบ"
412 ไม่เป็นไปตามเงื่อนไขที่กำหนดไว้ล่วงหน้า ดูรายละเอียดเกี่ยวกับข้อผิดพลาดนี้ในช่อง message เช่น
  • Auto License switching is not allowed.
  • Auto License un-assignment is not allowed.
  • For reassign operations, the new SKU should be different from the old SKU: sku
  • Reassign operation can't be performed on different products: product1, product2
  • Reassign operation can't be performed on different users: user1, user2
  • There aren't enough available licenses for the specified product-SKU pair
  • User already has a license for the specified product and SKU
  • User already has a license of the product, but with a different SKU. To reassign a new SKU for this product, use the 'update' operation.
503 บริการเครื่องมือจัดการใบอนุญาตไม่พร้อมใช้งาน