این سند با ارائه نمونه درخواستها و پاسخها از API بازار Google Workspace ، نحوه دریافت جزئیات نصب و مجوز برنامه بازار Google Workspace را نشان میدهد.
برنامه توسط مدیر نصب شده است
مدیر 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 برنامه را نصب کرده است، پاسخ منبع userLicense را برای user1@cymbalgroup.com برمیگرداند. فیلد enabled در منبع userLicense روی 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بدنه پاسخ
پاسخ، منبع customerLicense را برای cymbalgroup.com برمیگرداند که در آن فیلد state روی ACTIVE تنظیم شده است و نشان میدهد که مشتری مجوز معتبری دارد.
{
"kind": "appsmarket#customerLicense",
"id": "CUSTOMER_LICENSE_ID",
"applicationId": "APPLICATION_ID",
"customerId": "cymbalgroup.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
این برنامه فقط برای یک واحد سازمانی خاص کاربر، توسط مدیر نصب شده است.
اکنون برنامه فقط برای واحد سازمانی (OU) کاربر user2@cymbalgroup.com با دسترسی مدیر نصب شده است. دیگر برای همه افراد سازمان با دسترسی مدیر نصب نمیشود.
درخواست 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 با دسترسی ادمین نصب شده است، پاسخ یک منبع userLicense برای user3@cymbalgroup.com برمیگرداند که فیلد 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 نصب شده است، پاسخ یک منبع userLicense برای user2@cymbalgroup.com برمیگرداند که فیلد 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بدنه پاسخ
از آنجایی که برنامه برای همه افراد سازمان حذف شده است، پاسخ یک منبع userLicense برای user2@cymbalgroup.com برمیگرداند که فیلد 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"
}