Enterprise लाइसेंस मैनेजर एपीआई: डेवलपर के लिए गाइड

यह दस्तावेज़ बताता है कि खाता-लेवल और रीसेलर एडमिन, उपयोगकर्ताओं के लाइसेंस असाइनमेंट मैनेज करने के लिए, Enterprise लाइसेंस मैनेजर एपीआई का इस्तेमाल कैसे कर सकते हैं. आपके खाते के प्रॉडक्ट SKU लाइसेंस चालू होने और उपयोगकर्ता बन जाने के बाद, अपने खाते के उपयोगकर्ताओं के लिए लाइसेंस असाइन करने, अपडेट करने, फिर से पाने, और मिटाने के लिए Enterprise लाइसेंस मैनेजर एपीआई का इस्तेमाल करें.

इस वर्शन में, खाता और रीसेलर के एडमिन, Enterprise License Manager API का इस्तेमाल करते हैं. जिन एडमिन के पास License Management का अधिकार है वे भी Enterprise लाइसेंस मैनेजर एपीआई का इस्तेमाल कर सकते हैं.

ध्यान दें: Enterprise लाइसेंस मैनेजर एपीआई का इस्तेमाल, Google का कोई ग्राहक करता है. यह जानने के लिए कि तीसरे पक्ष के ऐप्लिकेशन डेवलपर, लाइसेंस कैसे मैनेज करते हैं, Google Workspace Marketplace API पर जाएं.

Enterprise लाइसेंस मैनेजर एपीआई, वेब सेवाओं के लिए रीप्रज़ेंटेशनल स्टेट ट्रांसफ़र (RESTfull) डिज़ाइन पर आधारित होता है.

लाइसेंस मैनेज करना

लाइसेंस असाइन करें

इस कार्रवाई से पहले, ग्राहक या रीसेलर ने Google प्रॉडक्ट लाइसेंस के लिए ऑर्डर दिया था और उपयोगकर्ता बना लिया था. इस उपयोगकर्ता को इनमें से कोई एक प्रॉडक्ट लाइसेंस असाइन करने के लिए, यहां दिए गए POST एचटीटीपी अनुरोध का इस्तेमाल करें. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. प्रॉडक्ट और SKU आईडी के लिए, एपीआई के उपलब्ध प्रॉडक्ट और SKU देखें:

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

ध्यान दें: किसी उपयोगकर्ता को कई तरह के Google प्रॉडक्ट के लाइसेंस असाइन किए जा सकते हैं. हालांकि, किसी उपयोगकर्ता को एक बार में हर प्रॉडक्ट के लिए, सिर्फ़ एक 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",
}

सही जवाब देने पर 200 एचटीटीपी स्टेटस कोड दिखता है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें. अगर प्रोसेस पूरी हो जाती है, तो रिस्पॉन्स, 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 insertMethod रेफ़रंस पेज देखें.

एक ही प्रॉडक्ट में, किसी दूसरी SKU के साथ उपयोगकर्ता के प्रॉडक्ट SKU को फिर से असाइन करें

उसी प्रॉडक्ट में किसी नई लाइसेंस SKU को उपयोगकर्ता का लाइसेंस फिर से असाइन करने के लिए, यहां दिए गए PUT एचटीटीपी अनुरोध का इस्तेमाल करें. यह एपीआई, पैच सिंटैक्स के साथ भी काम करता है. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. प्रॉडक्ट और SKU आईडी के लिए, एपीआई के उपलब्ध प्रॉडक्ट और SKU देखें:

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

इस उदाहरण में, Google Drive में मौजूद 20 जीबी स्टोरेज वाली मौजूदा SKU को 50 जीबी स्टोरेज के साथ अपडेट किया गया है. मौजूदा लाइसेंस SKU, अनुरोध के यूआरआई में है और नई लाइसेंस 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"
}

सही जवाब देने पर 200 एचटीटीपी स्टेटस कोड दिखता है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें. अगर प्रोसेस पूरी हो जाती है, तो रिस्पॉन्स, 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 के अपडेट करने का तरीका और पैच करने का तरीका बताने वाले पेज देखें.

किसी खास प्रॉडक्ट के लिए असाइन किए गए सभी उपयोगकर्ताओं को फिर से लाइसेंस पाएं

किसी खास प्रॉडक्ट के सभी उपयोगकर्ता लाइसेंस पाने के लिए, यहां दिए गए GET एचटीटीपी अनुरोध का इस्तेमाल करें. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. customerId क्वेरी स्ट्रिंग, ग्राहक का प्राइमरी डोमेन नेम है. maxResults क्वेरी स्ट्रिंग से तय होता है कि एपीआई से मिले रिस्पॉन्स में, उपयोगकर्ता के लाइसेंस की कितनी एंट्री दिखती हैं:

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

प्रॉडक्ट और SKU आईडी के लिए, एपीआई के उपलब्ध प्रॉडक्ट और SKU देखें.

इस उदाहरण में, example.com डोमेन के उन सभी उपयोगकर्ताओं के लिए नतीजों के पहले पेज की सूची दी गई है जिन्हें Google Drive का स्टोरेज प्रॉडक्ट के लाइसेंस असाइन किए गए हैं:

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

सही जवाब देने पर 200 एचटीटीपी स्टेटस कोड दिखता है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें. अगर प्रोसेस पूरी हो जाती है, तो रिस्पॉन्स, 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"
  },
  ...
}

ज़्यादा जानकारी के लिए, LicenseAssignments listForProductMethod रेफ़रंस पेज देखें.

किसी खास प्रॉडक्ट SKU के लिए, सभी उपयोगकर्ताओं को असाइन किए गए लाइसेंस वापस पाएं

किसी खास प्रॉडक्ट की SKU के लाइसेंस वाले सभी उपयोगकर्ताओं की सूची पाने के लिए, यहां दिए गए GET एचटीटीपी अनुरोध का इस्तेमाल करें. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. customerId क्वेरी स्ट्रिंग, ग्राहक का प्राइमरी डोमेन नेम है. maxResults क्वेरी स्ट्रिंग से तय होता है कि एपीआई के रिस्पॉन्स में कितनी उपयोगकर्ता एंट्री दिखती हैं:

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 देखें

इस उदाहरण में, example.com डोमेन के उन सभी उपयोगकर्ताओं का पहला पेज दिखाया गया है जिन्हें Google-Drive स्टोरेज-200 जीबी SKU का लाइसेंस असाइन किया गया है. जवाब में हर पेज पर दो उपयोगकर्ताओं की एंट्री होती है:

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

सही जवाब देने पर 200 एचटीटीपी स्टेटस कोड दिखता है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें. अगर प्रोसेस पूरी हो जाती है, तो रिस्पॉन्स, 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"
    },
    ...
  }

ज़्यादा जानकारी के लिए, LicenseAssignments listForProductAndSku विधि से जुड़ा रेफ़रंस पेज देखें.

प्रॉडक्ट SKU के ज़रिए किसी खास उपयोगकर्ता का लाइसेंस फिर से पाना

प्रॉडक्ट SKU के ज़रिए किसी उपयोगकर्ता का लाइसेंस पाने के लिए, इस GET एचटीटीपी अनुरोध का इस्तेमाल करें. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. प्रॉडक्ट और SKU आईडी के लिए, एपीआई के उपलब्ध प्रॉडक्ट और SKU देखें:

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

यह उदाहरण उस उपयोगकर्ता के लिए Google Drive स्टोरेज 50 जीबी का प्रॉडक्ट SKU देता है जिसका 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 एचटीटीपी स्टेटस कोड है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें. अगर प्रोसेस पूरी हो जाती है, तो रिस्पॉन्स, उपयोगकर्ता का लाइसेंस 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"
}

ज़्यादा जानकारी के लिए, LicenseAssignments Getmethod से जुड़ा रेफ़रंस पेज देखें.

लाइसेंस मिटाना

किसी उपयोगकर्ता से लाइसेंस रद्द करने के लिए, नीचे दिए गए DELETE एचटीटीपी अनुरोध का इस्तेमाल करें. Authorization हेडर को शामिल करें, जैसा कि अनुरोधों को स्वीकार करने में बताया गया है. प्रॉडक्ट और SKU आईडी के लिए, एपीआई के उपलब्ध प्रॉडक्ट और SKU देखें:

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 एचटीटीपी स्टेटस कोड दिखता है. संभावित गड़बड़ी कोड के लिए, एपीआई के गड़बड़ी कोड देखें.

ज़्यादा जानकारी के लिए, LicenseAssignments मिटाने का तरीका बताने वाला पेज देखें.

गड़बड़ी कोड

अगर अनुरोध पूरा नहीं हो पाता है, तो जवाब में गड़बड़ी के बारे में कम शब्दों में जानकारी दी जाती है:

गड़बड़ी कोड ब्यौरा
400 गलत अनुरोध - उपयोगकर्ता का ईमेल मान्य नहीं है.
400 गलत अनुरोध - SKU/प्रॉडक्ट मौजूद नहीं है.
401 इस एपीआई को कॉल करने के लिए, ऐक्टर के पास क्रेडेंशियल नहीं हैं.
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 लाइसेंस मैनेजर की सेवा उपलब्ध नहीं है.