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

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

ऐप्लिकेशन अब तक इंस्टॉल नहीं किया गया है

licenseNotification.list अनुरोध

यह अनुरोध, किसी खास ऐप्लिकेशन के लिए लाइसेंस की सूचनाओं की सूची पाने के लिए, 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 अनुरोध

यह अनुरोध, 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 के एडमिन ने संगठन के सभी लोगों के लिए ऐप्लिकेशन इंस्टॉल किया.

userLicense.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

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

domain1.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"
}

ग्राहक लाइसेंस.पाने का अनुरोध

यह अनुरोध, 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 के ओयू के लिए, सिर्फ़ एडमिन के तौर पर इंस्टॉल किया गया है. अब इसे संगठन के सभी लोगों के लिए, एडमिन के तौर पर इंस्टॉल नहीं किया जाता.

userLicense.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 दिखता है, जिसका मतलब है कि domain1.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"
}

userलाइसेंस.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 के पास अब भी ऐप्लिकेशन का ऐक्सेस है, क्योंकि उन्होंने पहले ऐप्लिकेशन को अलग से इंस्टॉल किया था.

userLicense.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"
}

userLicense.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}"
}