במדריך הזה מוסבר איך לקבל פרטים על התקנה ורישוי של אפליקציות מ-Google Workspace Marketplace, באמצעות מתן דוגמאות לבקשות ולתשובות מ-Google Workspace Marketplace API.
האפליקציה עדיין לא הותקנה
בקשת licenseNotification.list
הבקשה הזו קוראת ל-method 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
בבקשה הזו מתבצעת קריאה ל-method 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) של משתמש ספציפי
האפליקציה מותקנת עכשיו רק על ידי האדמין עבור היחידה הארגונית של 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
הבקשה הזו קוראת ל-method 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
הבקשה הזו קוראת ל-method 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
בבקשה הזו מתבצעת קריאה ל-method 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}"
}