במסמך הזה מוסבר איך אדמינים ברמת החשבון ואדמינים של מפיצים יכולים להשתמש ב-Enterprise License Manager API כדי לנהל הקצאות של רישיונות משתמשים. אחרי שהרישיונות של המק"טים של המוצרים בחשבון מופעלים והמשתמשים נוצרים, אפשר להשתמש ב-Enterprise License Manager API כדי להקצות, לעדכן, לאחזר ולמחוק רישיונות למשתמשים בחשבון.
בגרסה הזו, אדמינים של חשבונות ומפיצים משתמשים ב-Enterprise License Manager API. אדמינים שהוקצו להם הרשאות עם ההרשאה License Management
יכולים גם להשתמש ב-Enterprise License Manager API.
הערה: לקוח Google משתמש ב-Enterprise License Manager API. מידע על האופן שבו מפתחי אפליקציות של צד שלישי ב-Google מנהלים רישיונות זמין במאמר בנושא Google Workspace Marketplace API.
ממשק ה-API של Enterprise License Manager מבוסס על הגישה של Representational State Transfer (RESTful) לשירותי אינטרנט.
ניהול רישיונות
הקצאת רישיון
לפני הפעולה הזו, הלקוח או המפיץ הזמינו רישיונות למוצרי Google ויצרו את המשתמש. כדי להקצות למשתמש הזה אחד מרישיונות המוצרים האלה, משתמשים בבקשת ה-HTTP POST
הבאה. כוללים את הכותרת Authorization
כפי שמתואר בהרשאות בקשות. למזהי מוצרים ומק"טים, אפשר לעיין במוצרים ובמק"טים הזמינים ב-API:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
הערה: אפשר להקצות למשתמשים רישיונות למגוון רחב של מוצרי Google שונים. עם זאת, למשתמש מוקצה רישיון מק"ט אחד בלבד לכל מוצר בכל פעם. באמצעות ה-API, אפשר להקצות מחדש רישיון מק"ט של משתמש לרישיון מק"ט אחר בתוך המוצר.
בדוגמה הזו מוקצה מק"ט Google-Drive-storage-20GB למשתמש שכתובת האימייל הראשית שלו היא alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
גוף הבקשה של JSON:
{ "userId" : "alex@example.com", }
תגובה מוצלחת מחזירה קוד סטטוס HTTP מסוג 200
. לקבלת קודי שגיאה אפשריים, אפשר לעיין במאמר קודי שגיאה של ה-API. אם הפעולה בוצעה בהצלחה, התשובה תכלול את סטטוס הקצאת הרישיון בפורמט נתוני JSON.
תגובת JSON
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-20GB", "skuName": "Google Drive storage 20 GB", "productName": "Google Drive storage" }
למידע נוסף, אפשר לעיין בדף העזרה של שיטת ההוספה של licenseAssignments.
הקצאה מחדש של מק"ט של משתמש עם מק"ט שונה באותו מוצר
כדי להקצות מחדש רישיון של משתמש למק"ט רישיון חדש באותו מוצר, משתמשים בבקשת ה-HTTP הבאה מסוג PUT
. ה-API תומך גם בתחביר תיקון. מוסיפים את הכותרת Authorization
כפי שמתואר בקטע אימות בקשות. למזהי מוצרים ומק"טים, אפשר לעיין במוצרים ובמק"טים הזמינים ב-API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
בדוגמה הזו, המק"ט הנוכחי Google-Drive-storage-20GB מתעדכן למק"ט Google-Drive-storage-50GB. המק"ט הנוכחי של הרישיון נמצא ב-URI של הבקשה ומק"ט הרישיון החדש מופיע בגוף הבקשה:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
גוף הבקשה בפורמט JSON מכיל את הפרטים הבאים :
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
תגובה מוצלחת מחזירה קוד סטטוס HTTP מסוג 200
. קודי השגיאה האפשריים מפורטים במאמר קודי שגיאה של ה-API. אם הפעולה בוצעה בהצלחה, התשובה תכלול את סטטוס הקצאת הרישיון בפורמט נתוני JSON.
תגובת JSON
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
מידע נוסף זמין בדפי העזר של update method ושל patch method ב-licenseAssignments.
אחזור של כל המשתמשים שהוקצו להם רישיונות למוצר ספציפי
כדי לקבל את כל רישיונות המשתמשים למוצר ספציפי, משתמשים בבקשת ה-HTTP הבאה מסוג GET
. כוללים את הכותרת Authorization
כפי שמתואר בהרשאות בקשות. מחרוזת השאילתה customerId
היא שם הדומיין הראשי של הלקוח. מחרוזת השאילתה maxResults
קובעת כמה רשומות של רישיונות משתמשים יחזרו בתגובה של ה-API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
למזהי מוצרים ומק"טים, ראו מוצרים ומק"טים הזמינים ב-API.
בדוגמה הזו מוצג דף התוצאות הראשון של כל המשתמשים בדומיין example.com שהוקצו להם רישיונות למוצר Google-Drive-storage:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
תגובה מוצלחת מחזירה קוד סטטוס HTTP מסוג 200
. קודי השגיאה האפשריים מפורטים במאמר קודי שגיאה של ה-API. אם הפעולה מסתיימת ללא שגיאות, התגובה מחזירה את רשימת הרישיונות בפורמט JSON.
תגובת JSON
{ "kind" : "licensing#licenseAssignmentList", "etag": "etag value", "nextPageToken" : "the next page token value", "items": [ { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }, { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/keshav@example.com", "userId": "keshav@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, ... }
מידע נוסף זמין בדף העזרה של השיטה listForProduct של licenseAssignments.
אחזור כל המשתמשים שקיבלו רישיונות למק"ט ספציפי של מוצר
כדי לקבל רשימה של כל המשתמשים שיש להם רישיונות למק"ט ספציפי של מוצר, משתמשים בבקשת ה-HTTP הבאה מסוג GET
. מוסיפים את הכותרת Authorization
כפי שמתואר בקטע אימות בקשות. מחרוזת השאילתה customerId
היא שם הדומיין הראשי של הלקוח. מחרוזת השאילתה maxResults
קובעת כמה רשומות של משתמשים יחזרו בתגובה של ה-API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page
למזהי מוצרים ומק"טים, אפשר לעיין בקטעים הזמינים של מוצרים ומק"טים ב-API.
בדוגמה הזו מופיע הדף הראשון של כל המשתמשים בדומיין example.com שהוקצה להם רישיון למק"ט Google-Drive-storage-200GB. בתגובה מפורטים שני רשומות של משתמשים לכל דף:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2
תגובה מוצלחת מחזירה קוד סטטוס HTTP מסוג 200
. קודי השגיאה האפשריים מפורטים במאמר קודי שגיאה של ה-API. אם הפעולה מסתיימת ללא שגיאות, התגובה מחזירה את רשימת הרישיונות בפורמט JSON.
תגובת JSON
{ "kind" : "licensing#licenseAssignmentList", "etag": "etag value", "nextPageToken" : "next page token's value", "items": [ { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/mary@example.com", "userId": "mary@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, ... }
מידע נוסף זמין בדף העזרה של השיטה listForProductAndSku ב-licenseAssignments.
אחזור רישיון של משתמש ספציפי לפי מק"ט של מוצר
כדי לקבל רישיון של משתמש ספציפי לפי מק"ט של מוצר, משתמשים בבקשת ה-HTTP GET
הבאה. מוסיפים את הכותרת Authorization
כפי שמתואר בקטע אימות בקשות. למזהי מוצרים ומק"טים, אפשר לעיין במוצרים ובמק"טים הזמינים ב-API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
בדוגמה הזו מוצג המק"ט של מוצר האחסון בנפח 50GB ב-Google Drive עבור המשתמש ש-userId
שלו הוא alex@example.com:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
אם למשתמש יש את הרישיון הזה, התשובה תהיה קוד מצב HTTP מסוג 200
. קודי השגיאה האפשריים מפורטים במאמר קודי שגיאה של ה-API. אם הפעולה תצליח, התגובה תחזיר את הרישיון של המשתמש בפורמט JSON.
תגובת JSON
{ "kind": "licensing#licenseAssignment", "etag": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "keshav@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
למידע נוסף, אפשר לעיין בדף העזרה של שיטת ה-get של licenseAssignments.
מחיקת רישיון
כדי לבטל את ההקצאה של רישיון למשתמש, משתמשים בבקשת ה-HTTP הבאה מסוג DELETE
. כוללים את הכותרת Authorization
כפי שמתואר בהרשאות בקשות. למזהי מוצרים ומק"טים, אפשר לעיין במוצרים ובמק"טים הזמינים ב-API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
בדוגמה הזו, הרישיון Google-Drive-storage-50GB מבוטל מהמשתמש שה-userId
שלו הוא alex@example.com:
DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
תגובה מוצלחת תחזיר קוד סטטוס HTTP 200
. לקבלת קודי שגיאה אפשריים, אפשר לעיין במאמר קודי שגיאה של ה-API.
מידע נוסף זמין בדף העזר של שיטת המחיקה של licenseAssignments.
קודי שגיאה
אם הבקשה נכשלת, התשובה כוללת הסבר קצר על השגיאה:
קוד שגיאה | תיאור |
---|---|
400 | בקשה פגומה - כתובת האימייל של המשתמש אינה חוקית. |
400 | בקשה שגויה – המק"ט או המוצר לא קיימים. |
401 | לגורם אין פרטי כניסה לקריאה ל-API הזה. |
404 | אם למשתמש אין את הרישיון הזה, התגובה תכלול את קוד השגיאה 'not found'. |
412 | לא בוצע תנאי מוקדם. פרטים על השגיאה הזו זמינים בשדה message . לדוגמה:
|
503 | השירות של License Manager לא זמין. |