با ارائه نمونه درخواستها و پاسخهایی از 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
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز user1@domain1.com را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
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
این درخواست متد 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 user2@domain1.com نصب شده است. دیگر برای همه افراد سازمان نصب نشده است.
درخواست userLicense.get
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز user3@domain1.com را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
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
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز user2@domain1.com را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
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
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز user2@domain1.com را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
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
این درخواست روش userLicense.get
را فراخوانی می کند تا وضعیت مجوز user1@domain1.com را دریافت کند و مشخص کند که آیا آنها مجوز استفاده از برنامه را دارند یا خیر.
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
درخواست به روش 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}"
}