با ارائه نمونه درخواستها و پاسخهایی از 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": ""
}
برنامه به صورت جداگانه نصب می شود
یک کاربر، [email protected]، برنامه را به صورت جداگانه از 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}
بدن پاسخگو
از آنجایی که [email protected] برنامه را نصب کرد، پاسخ شامل یک اعلان مجوز است. اعلان مجوز شامل یک اعلان تدارکات است زیرا هنگام نصب برنامه، مجوز جدیدی برای [email protected] ارائه شد.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
برنامه ادمین نصب شده است
مدیر domain1.com اپلیکیشن را برای همه افراد سازمان نصب کرد.
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
بدن پاسخگو
از آنجایی که domain1.com برنامه را توسط سرپرست نصب کرده است، پاسخ مجوز کاربر برای [email protected] را در جایی که enabled
true
است، برمیگرداند، که نشان میدهد مدیر دامنه domain1.com برنامه را برای این دامنه فعال کرده است، و state
ACTIVE
است، که نشان میدهد [email protected] دارای مجوز معتبر است و باید اجازه استفاده از برنامه را داشته باشد.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
درخواست customerLicense.get
این درخواست متد customerLicense.get
را فراخوانی می کند تا وضعیت مجوز domain1.com را دریافت کند تا مشخص شود آیا آنها به برنامه دسترسی دارند یا خیر.
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) نصب شده است.
این برنامه اکنون فقط برای OU [email protected] نصب شده است. دیگر برای همه افراد سازمان نصب نشده است.
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
بدن پاسخگو
از آنجایی که برنامه فقط برای [email protected] توسط ادمین نصب شده است، پاسخ یک مجوز کاربری برای [email protected] برمیگرداند که در 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": "[email protected]"
}
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
بدن پاسخگو
از آنجایی که برنامه فقط برای [email protected] توسط ادمین نصب شده است، پاسخ مجوز کاربر را برای [email protected] برمیگرداند که در آن 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": "[email protected]"
}
برنامه برای همه افراد سازمان حذف می شود
برنامه برای همه افراد سازمان حذف شد. کاربر، [email protected]، همچنان به برنامه دسترسی دارد زیرا قبلاً به صورت جداگانه برنامه را نصب کرده است.
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
بدن پاسخگو
از آنجایی که برنامه برای همه افراد در سازمان حذف شده است، پاسخ مجوز کاربر را برای [email protected] برمیگرداند که در آن enabled
false
است و state
UNLICENSED
است، که نشان میدهد مدیر دامنه این کاربر جایگاهی را برای برنامه به این کاربر اختصاص نداده است.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز [email protected] را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
بدن پاسخگو
از آنجایی که [email protected] قبلاً به صورت جداگانه برنامه را نصب کرده بود، آنها هنوز هم اجازه استفاده از آن را دارند. پاسخ مجوز کاربر را برمیگرداند که در آن enabled
true
است و state
ACTIVE
است.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
اعلان های مجوز از همه اقدامات فوق
درخواست 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",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"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}"
}