Google Workspace Marketplace API থেকে অনুরোধ এবং প্রতিক্রিয়ার উদাহরণ প্রদান করে, এই নথিটি দেখায় যে কীভাবে Google Workspace Marketplace অ্যাপ ইনস্টলেশন এবং লাইসেন্সিং বিশদ পেতে হয়।
অ্যাপ্লিকেশনটি একজন প্রশাসক দ্বারা ইনস্টল করা হয়েছে।
cymbalgroup.com এর প্রশাসক প্রতিষ্ঠানের সকলের জন্য অ্যাপ্লিকেশনটি ইনস্টল করেছেন।
userLicense.get অনুরোধ
এই অনুরোধটি userLicense.get পদ্ধতি ব্যবহার করে user1@cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের কাছে অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি আছে কিনা।
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
যেহেতু cymbalgroup.com অ্যাপ্লিকেশনটি ইনস্টল করেছে, তাই প্রতিক্রিয়াটি user1@cymbalgroup.com এর জন্য userLicense রিসোর্সটি ফেরত পাঠায়। userLicense রিসোর্সে enabled ক্ষেত্রটি true এ সেট করা আছে, যা নির্দেশ করে যে cymbalgroup.com এর ডোমেন প্রশাসক এই ডোমেনের জন্য অ্যাপ্লিকেশনটি সক্রিয় করেছেন, এবং state ক্ষেত্রটি ACTIVE এ সেট করা আছে, যা নির্দেশ করে যে user1@cymbalgroup.com এর একটি বৈধ লাইসেন্স রয়েছে এবং অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি থাকা উচিত।
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user1@cymbalgroup.com"
}
customerLicense.get অনুরোধ
এই অনুরোধটি customerLicense.get পদ্ধতি ব্যবহার করে cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের অ্যাপ্লিকেশনটিতে অ্যাক্সেস আছে কিনা।
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/APPLICATION_ID/cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
প্রতিক্রিয়াটি cymbalgroup.com এর জন্য customerLicense রিসোর্স ফেরত পাঠায় যেখানে state ক্ষেত্রটি ACTIVE তে সেট করা থাকে, যা নির্দেশ করে যে গ্রাহকের একটি বৈধ লাইসেন্স আছে।
{
"kind": "appsmarket#customerLicense",
"id": "CUSTOMER_LICENSE_ID",
"applicationId": "APPLICATION_ID",
"customerId": "cymbalgroup.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
অ্যাপ্লিকেশনটি শুধুমাত্র একটি নির্দিষ্ট ব্যবহারকারীর সাংগঠনিক ইউনিটের জন্য প্রশাসক দ্বারা ইনস্টল করা।
অ্যাপ্লিকেশনটি এখন শুধুমাত্র user2@cymbalgroup.com এর সাংগঠনিক ইউনিট (OU) এর জন্য অ্যাডমিনিস্ট্রেটর ইনস্টল করা আছে। এটি আর প্রতিষ্ঠানের সকলের জন্য অ্যাডমিনিস্ট্রেটর ইনস্টল করা নেই।
userLicense.get অনুরোধ
এই অনুরোধটি userLicense.get পদ্ধতি ব্যবহার করে user3@cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের কাছে অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি আছে কিনা।
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user3@cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
যেহেতু অ্যাপ্লিকেশনটি শুধুমাত্র user2@cymbalgroup.com এর জন্য অ্যাডমিনিস্ট্রেটর ইনস্টল করা আছে, তাই প্রতিক্রিয়াটি user3@cymbalgroup.com এর জন্য একটি userLicense রিসোর্স প্রদান করে যার enabled ক্ষেত্রটি false তে সেট করা আছে, যা নির্দেশ করে যে cymbalgroup.com এর ডোমেন অ্যাডমিনিস্ট্রেটর এই ডোমেনের জন্য অ্যাপ্লিকেশনটি সক্রিয় করেনি, এবং state ক্ষেত্রটি ACTIVE তে সেট করা আছে, যা নির্দেশ করে যে ব্যবহারকারীর একটি বৈধ লাইসেন্স আছে এবং অ্যাপ্লিকেশনটি ব্যবহার করার অনুমতি দেওয়া উচিত।
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user3@cymbalgroup.com"
}
userLicense.get অনুরোধ
এই অনুরোধটি userLicense.get পদ্ধতি ব্যবহার করে user2@cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের কাছে অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি আছে কিনা।
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
যেহেতু অ্যাপ্লিকেশনটি শুধুমাত্র user2@cymbalgroup.com এর জন্য অ্যাডমিনিস্ট্রেটর দ্বারা ইনস্টল করা হয়েছে, তাই প্রতিক্রিয়াটি user2@cymbalgroup.com এর জন্য একটি userLicense রিসোর্স প্রদান করে যার enabled ক্ষেত্রটি true তে সেট করা থাকে এবং state ক্ষেত্রটি ACTIVE তে সেট করা থাকে।
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
প্রতিষ্ঠানের সকলের জন্য আবেদনটি মুছে ফেলা হয়েছে
যদিও প্রতিষ্ঠানের সকলের জন্য অ্যাপ্লিকেশনটি মুছে ফেলা হয়েছে, তবুও user1@cymbalgroup.com-এর অ্যাক্সেস এখনও আছে কারণ তারা আগে এটি পৃথকভাবে ইনস্টল করেছিল।
userLicense.get অনুরোধ
এই অনুরোধটি userLicense.get পদ্ধতি ব্যবহার করে user2@cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের কাছে অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি আছে কিনা।
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
যেহেতু অ্যাপ্লিকেশনটি প্রতিষ্ঠানের সকলের জন্য মুছে ফেলা হয়েছে, তাই প্রতিক্রিয়াটি user2@cymbalgroup.com এর জন্য একটি userLicense রিসোর্স প্রদান করে যার enabled ক্ষেত্রটি false তে সেট করা আছে এবং state ক্ষেত্রটি UNLICENSED তে সেট করা আছে, যা নির্দেশ করে যে এই ব্যবহারকারীর ডোমেনের প্রশাসক এই ব্যবহারকারীকে অ্যাপ্লিকেশনের জন্য কোনও আসন বরাদ্দ করেননি।
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
userLicense.get অনুরোধ
এই অনুরোধটি userLicense.get পদ্ধতি ব্যবহার করে user1@cymbalgroup.com এর লাইসেন্সিং স্ট্যাটাস জানতে পারে এবং নির্ধারণ করতে পারে যে তাদের কাছে অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি আছে কিনা।
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comপ্রতিক্রিয়া মূল অংশ
যেহেতু user1@cymbalgroup.com পূর্বে অ্যাপ্লিকেশনটি পৃথকভাবে ইনস্টল করেছে, তবুও তাদের এটি ব্যবহারের অনুমতি রয়েছে। প্রতিক্রিয়াটি একটি userLicense রিসোর্স প্রদান করে যার enabled ক্ষেত্রটি true তে সেট করা থাকে এবং state ক্ষেত্রটি ACTIVE তে সেট করা থাকে।
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user1@cymbalgroup.com"
}