ऐप्लिकेशन को इंस्टॉल करने और लाइसेंस देने की जानकारी पाएं

इस गाइड में, Google Workspace Marketplace API से उदाहरण के तौर पर अनुरोध और जवाब देने के तरीके बताए गए हैं. इस गाइड में, Google Workspace Marketplace से इंस्टॉल किए गए ऐप्लिकेशन को इंस्टॉल करने और उसके लाइसेंस से जुड़ी जानकारी पाने का तरीका बताया गया है.

ऐप्लिकेशन अभी तक इंस्टॉल नहीं हुआ है

लाइसेंस नोटिफ़िकेशन.सूची का अनुरोध

किसी खास ऐप्लिकेशन के लिए, लाइसेंस से जुड़ी सूचनाओं की सूची पाने के लिए, यह अनुरोध licenseNotification.list तरीका इस्तेमाल करता है.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

जवाब का मुख्य भाग

ऐप्लिकेशन अब तक इंस्टॉल नहीं किया गया है, इसलिए इस अनुरोध के जवाब में लाइसेंस से जुड़ी कोई भी सूचना शामिल नहीं है.

{
  "kind": "appsmarket#licenseNotificationList",
  "nextPageToken": ""
}

यह ऐप्लिकेशन, निजी तौर पर इंस्टॉल किया गया है

user1@domain1.com एक उपयोगकर्ता ने Google Workspace Marketplace से ऐप्लिकेशन को निजी तौर पर इंस्टॉल किया है.

लाइसेंस नोटिफ़िकेशन.सूची का अनुरोध

इस अनुरोध में, licenseNotification.list तरीके का इस्तेमाल किया जाता है. साथ ही, उपयोगकर्ता ने जो ऐप्लिकेशन इंस्टॉल किया है उसके लिए, लाइसेंस से जुड़ी सूचनाओं की सूची उपलब्ध कराता है.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

जवाब का मुख्य भाग

user1@domain1.com ने ऐप्लिकेशन इंस्टॉल किया है, इसलिए जवाब में एक लाइसेंस की सूचना शामिल है. लाइसेंस की सूचना में प्रावधान की सूचना शामिल होती है, क्योंकि ऐप्लिकेशन इंस्टॉल करते समय user1@domain1.com के लिए एक नए लाइसेंस का प्रावधान किया गया था.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "user1@domain1.com",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    }
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}

ऐप्लिकेशन एडमिन इंस्टॉल किया गया है

domain1.com के एडमिन ने संगठन के सभी लोगों के लिए ऐप्लिकेशन इंस्टॉल किया है.

userlice.get अनुरोध

यह अनुरोध user1@domain1.com की लाइसेंसिंग स्थिति जानने के लिए, userLicense.get तरीके को कॉल करता है और यह तय करता है कि उनके पास ऐप्लिकेशन का इस्तेमाल करने की अनुमति है या नहीं.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com

जवाब का मुख्य भाग

डोमेन1.com ने एडमिन के तौर पर ऐप्लिकेशन इंस्टॉल किया है, इसलिए जवाब user1@domain1.com के लिए उपयोगकर्ता लाइसेंस देता है, जहां enabled true है. इससे पता चलता है कि domain1.com के डोमेन एडमिन ने इस डोमेन के लिए ऐप्लिकेशन चालू किया है और state ACTIVE है. इससे पता चलता है कि user1@domain1.com के पास एक मान्य लाइसेंस है और उसे ऐप्लिकेशन का इस्तेमाल करने की अनुमति होनी चाहिए.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user1@domain1.com"
}

customerलाइसेंस.get के लिए अनुरोध

यह अनुरोध,domain1.com की लाइसेंसिंग स्थिति जानने के लिए customerLicense.get तरीका कॉल करता है, ताकि यह तय किया जा सके कि उनके पास ऐप्लिकेशन का ऐक्सेस है या नहीं.

GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com

जवाब का मुख्य भाग

रिस्पॉन्स,domain1.com के लिए ग्राहक लाइसेंस दिखाता है, जहां state ACTIVE है, जिससे पता चलता है कि ग्राहक के पास एक मान्य लाइसेंस है.

{
  "kind": "appsmarket#customerLicense",
  "id": "{CUSTOMER_LICENSE_ID}",
  "applicationId": "{APPLICATION_ID}",
  "customerId": "domain1.com",
  "state": "ACTIVE",
  "editions": [
    {
      "editionId": "default_edition",
      "seatCount": -1
    }
  ]
}

ऐप्लिकेशन में किसी खास उपयोगकर्ता की संगठन की इकाई (ओयू) के लिए, सिर्फ़ एडमिन ने ऐप्लिकेशन इंस्टॉल किया हो

ऐप्लिकेशन, user2@domain1.com के ओयू के लिए अब सिर्फ़ एडमिन को इंस्टॉल किया गया है. अब यह एडमिन, संगठन के सभी लोगों के लिए इंस्टॉल नहीं किया गया है.

userlice.get अनुरोध

यह अनुरोध, user3@domain1.com के लाइसेंस की स्थिति जानने के लिए, userLicense.get तरीके का इस्तेमाल करता है. साथ ही, यह तय करता है कि उनके पास ऐप्लिकेशन इस्तेमाल करने की अनुमति है या नहीं.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user3@domain1.com

जवाब का मुख्य भाग

ऐप्लिकेशन में user2@domain1.com के लिए सिर्फ़ एडमिन इंस्टॉल किया गया है, इसलिए रिस्पॉन्स, user3@domain1.com के लिए उपयोगकर्ता लाइसेंस देता है, जहां enabled false है. इससे पता चलता है कि Domains1.com के डोमेन एडमिन ने इस डोमेन के लिए ऐप्लिकेशन चालू नहीं किया है. state ACTIVE से पता चलता है कि उपयोगकर्ता के पास मान्य लाइसेंस है और उसे ऐप्लिकेशन का इस्तेमाल करने की अनुमति होनी चाहिए.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user3@domain1.com"
}

userlice.get अनुरोध

यह अनुरोध user2@domain1.com की लाइसेंसिंग स्थिति जानने के लिए, userLicense.get तरीके को कॉल करता है और यह तय करता है कि क्या उनके पास ऐप्लिकेशन इस्तेमाल करने की अनुमति है.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com

जवाब का मुख्य भाग

ऐप्लिकेशन में user2@domain1.com के लिए सिर्फ़ एडमिन इंस्टॉल किया गया है, इसलिए, जवाब, user2@domain1.com के लिए उपयोगकर्ता लाइसेंस देता है, जहां enabled true है और state ACTIVE है.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user2@domain1.com"
}

ऐप्लिकेशन को संगठन के सभी लोगों के लिए मिटा दिया जाएगा

ऐप्लिकेशन को संगठन के सभी लोगों के लिए मिटा दिया गया है. उपयोगकर्ता, user1@domain1.com के पास अब भी ऐप्लिकेशन का ऐक्सेस है, क्योंकि उसने पहले ऐप्लिकेशन को व्यक्तिगत रूप से इंस्टॉल किया था.

userlice.get अनुरोध

यह अनुरोध user2@domain1.com की लाइसेंसिंग स्थिति जानने के लिए, userLicense.get तरीके को कॉल करता है और यह तय करता है कि क्या उनके पास ऐप्लिकेशन इस्तेमाल करने की अनुमति है.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com

जवाब का मुख्य भाग

ऐप्लिकेशन को संगठन के सभी लोगों के लिए मिटा दिया गया है, इसलिए जवाब user2@domain1.com के लिए उपयोगकर्ता लाइसेंस दिखाता है, जहां enabled false है और state UNLICENSED है. इससे पता चलता है कि इस उपयोगकर्ता के डोमेन के एडमिन ने इस उपयोगकर्ता को ऐप्लिकेशन के लिए जगह असाइन नहीं की है.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "UNLICENSED",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user2@domain1.com"
}

userlice.get अनुरोध

यह अनुरोध user1@domain1.com की लाइसेंसिंग स्थिति जानने के लिए, userLicense.get तरीके को कॉल करता है और यह तय करता है कि उनके पास ऐप्लिकेशन का इस्तेमाल करने की अनुमति है या नहीं.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com

जवाब का मुख्य भाग

क्योंकि user1@domain1.com ने पहले व्यक्तिगत रूप से यह ऐप्लिकेशन इंस्टॉल किया था, इसलिए उनके पास अब भी इसका इस्तेमाल करने की अनुमति है. रिस्पॉन्स के तौर पर उपयोगकर्ता लाइसेंस दिखता है, जहां enabled, true और state ACTIVE है.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user1@domain1.com"
}

ऊपर दी गई सभी कार्रवाइयों के तहत मिलने वाले लाइसेंस की सूचनाएं

लाइसेंस नोटिफ़िकेशन.सूची का अनुरोध

licenseNotification.list तरीके का अनुरोध करने पर, ऐप्लिकेशन के लिए लाइसेंस लेने से जुड़ी सभी सूचनाएं मिल जाती हैं.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

जवाब का मुख्य भाग

रिस्पॉन्स, ऊपर की गई सभी कार्रवाइयों के लिए लाइसेंस सूचनाओं की सूची दिखाता है.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "user1@domain1.com",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318351038",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "-1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318858349",
      "deletes": [
        {
          "kind": "appsmarket#deleteNotification",
          "editionId": "default_edition",
        }
      ]
    },
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}