অ্যাপ ইনস্টলেশন এবং লাইসেন্সিং বিশদ পান

Google Workspace Marketplace এপিআই- এর উদাহরণ এবং প্রতিক্রিয়া প্রদান করে, এই নির্দেশিকাটি দেখায় যে কীভাবে Google Workspace Marketplace অ্যাপ ইনস্টলেশন এবং লাইসেন্সিং বিশদ পেতে হয়।

অ্যাপ্লিকেশন এখনও ইনস্টল করা হয়নি

licenceNotification.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 থেকে পৃথকভাবে অ্যাপ্লিকেশন ইনস্টল করেছেন।

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

customerLicense.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
    }
  ]
}

অ্যাপ্লিকেশনটি শুধুমাত্র একটি নির্দিষ্ট ব্যবহারকারীর সাংগঠনিক ইউনিট (OU) এর জন্য প্রশাসক ইনস্টল করা হয়েছে

অ্যাপ্লিকেশনটি এখন user2@domain1.com-এর OU-এর জন্য শুধুমাত্র অ্যাডমিন ইনস্টল করা আছে। প্রতিষ্ঠানের সকলের জন্য এটি আর অ্যাডমিন ইনস্টল করা নেই।

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

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-এর জন্য শুধুমাত্র প্রশাসক ইনস্টল করা হয়েছে, প্রতিক্রিয়াটি 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"
}

উপরের সমস্ত কর্ম থেকে লাইসেন্স বিজ্ঞপ্তি

licenceNotification.list অনুরোধ

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