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

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

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

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

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

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

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

इस कार्रवाई से पहले, ग्राहक या रीसेलर ने 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 insert method का रेफ़रंस पेज देखें.

किसी उपयोगकर्ता के प्रॉडक्ट 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-storage-20GB SKU को Google-Drive-storage-50GB से अपडेट किया गया है. मौजूदा लाइसेंस 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-storage प्रॉडक्ट के लिए असाइन किए गए लाइसेंस के लिए असाइन किया गया है:

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 listForProduct method का रेफ़रंस पेज देखें.

किसी खास प्रॉडक्ट के 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-storage-200GB 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 method रेफ़रंस पेज देखें.

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

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

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

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

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

किसी उपयोगकर्ता से लाइसेंस हटाने के लिए, यहां दिए गए 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 लाइसेंस मैनेजर सेवा उपलब्ध नहीं है.