ב-Directory API יש שיטות פרוגרמטיות ליצירה, לעדכון ולמחיקה של משתמשים. אפשר גם לקבל מידע על משתמשים ספציפיים או על רשימות של משתמשים שעומדים בקריטריונים מסוימים. בהמשך מפורטות דוגמאות לפעולות בסיסיות של משתמשים.
יצירה של חשבון משתמש
אפשר להוסיף חשבון משתמש לכל אחד מהדומיינים של חשבון Google Workspace. לפני שמוסיפים חשבון משתמש, צריך לאמת את הבעלות על הדומיין.
אם שדרגתם את חשבון Gmail האישי לחשבון אימייל עסקי עם שם הדומיין שלכם, לא תוכלו ליצור חשבונות משתמשים חדשים עד שתפתחו את הנעילה של הגדרות Google Workspace נוספות. לפרטים, אפשר לעיין במאמר חשבונות אימייל עסקיים ב-G Suite ששודרגו ל-G Suite Basic.
כדי ליצור חשבון משתמש באמצעות אחד מהדומיינים שלכם, צריך להשתמש בבקשה הבאה של POST
ולכלול את ההרשאה שמתוארת במאמר מידע על אימות והרשאה. אפשר לראות את ההיקפים הזמינים ל-Directory API ברשימת ההיקפים של OAuth 2.0. למאפיינים של מחרוזת השאילתה של הבקשה, ראו את השיטה users.insert()
.
POST https://admin.googleapis.com/admin/directory/v1/users
בכל בקשת יצירה צריך לשלוח את המידע הנדרש כדי לעבד את הבקשה. אם אתם משתמשים בספריות לקוח, הן ממירות את אובייקטי הנתונים מהשפה שבחרתם באובייקטים בפורמט נתוני JSON.
בקשת JSON
ב-JSON הבא מוצגת בקשה לדוגמה ליצירת משתמש. רשימה מלאה של מאפייני הבקשות והתגובות מופיעה בחומר העזר בנושא API.
{ "primaryEmail": "[email protected]", "name": { "givenName": "Elizabeth", "familyName": "Smith" }, "suspended": false, "password": "new user password", "hashFunction": "SHA-1", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "12345", "type": "custom", "customType": "employee" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "type": "work", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "orgUnitPath": "/corp/engineering", "includeInGlobalAddressList": true }
אם קצב השאילתות של בקשות היצירה גבוה מדי, יכול להיות שתקבלו תגובות HTTP 503
משרת ה-API, שמציינות שחרגתם מהמכסה. אם מקבלים את התשובות האלה, צריך להשתמש באלגוריתם של השהיה מעריכית לפני ניסיון חוזר כדי לנסות שוב את הבקשות.
אלה כמה דברים שכדאי לדעת על חשבון חדש:
- אם רכשתם רישיונות אימייל בחשבון Google, תינתן באופן אוטומטי תיבת דואר לחשבון המשתמש החדש. יכול להיות שיחלפו כמה דקות עד שהמטלה תושלם ותופעל.
- שירות ה-API מתעלם בשקט מעריכה של שדה לקריאה בלבד בבקשה, כמו
isAdmin
. - מספר הדומיינים המקסימלי שאפשר להוסיף לחשבון הוא 600 (דומיין ראשי אחד + 599 דומיינים נוספים)
- אם משתמש לא הוקצה ליחידה ארגונית ספציפית כשחשבון המשתמש נוצר, החשבון נמצא ביחידה הארגונית ברמה העליונה. היחידה הארגונית של המשתמש קובעת לאילו שירותי Google Workspace תהיה לו גישה. אם המשתמש מועבר לארגון חדש, הגישה שלו משתנה. מידע נוסף על מבני ארגון זמין במרכז העזרה לניהול. מידע נוסף על העברת משתמשים לארגון אחר זמין במאמר עדכון משתמש.
password
נדרש לחשבונות משתמש חדשים. אם צויןhashFunction
, הסיסמה חייבת להיות מפתח גיבוב חוקי. אם לא צוין, הסיסמה צריכה להיות בטקסט ללא הצפנה ולהכיל בין 8 ל-100 תווים מסוג ASCII. מידע נוסף זמין בחומר העזרה של ה-API.- למשתמשים בתוכנית גמישה של Google Workspace, יצירת משתמשים באמצעות ה-API הזה תהיה בעלת השפעה כספית ותגרום לחיוב בחשבון לחיוב של הלקוח. מידע נוסף זמין במאמר פרטי החיוב ב-API.
- חשבון Google Workspace יכול לכלול כל אחד מהדומיינים שלכם. בחשבון עם כמה דומיינים, משתמשים בדומיין אחד יכולים לשתף שירותים עם משתמשים בדומיינים אחרים בחשבון. מידע נוסף על משתמשים בכמה דומיינים זמין במאמר מידע על API בכמה דומיינים.
- יכול להיות שיש חשבונות בעלי מאפיינים זהים לחשבון פעיל. בודקים אם למישהו שאתם מתכננים להוסיף כבר יש חשבון Google. לאחר מכן, פועלים לפי השלבים כדי למנוע התנגשויות עם החשבונות האלה. איך מאתרים חשבונות בעלי מאפיינים זהים לחשבון פעיל ופותרים את הבעיה
- יכול להיות שיש חשבונות של מבקרים. אם משתמשים יזמינו אנשים מחוץ לארגון שאין להם חשבונות Google כדי לשתף איתם פעולה ב-Drive, הם יקבלו חשבונות של מבקרים, בפורמט visitor's_username@your_domain.com. אם תוסיפו משתמש עם אותו שם משתמש כחשבון של מבקר, החשבון יוסב לחשבון Google Workspace מלא. ההרשאות הנוכחיות של הקבצים ב-Drive יישמרו בחשבון. איך משתפים מסמכים עם מבקרים
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התשובה מחזירה את המאפיינים של חשבון המשתמש החדש.
עדכון של חשבון משתמש
כדי לעדכן חשבון משתמש, משתמשים בבקשה הבאה של PUT
וכוללים את ההרשאה שמתוארת בקטע אישור בקשות. הערך של userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש הייחודי id
או אחת מכתובות האימייל החלופיות של המשתמש.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
גם גוף הבקשה וגם גוף התשובה מכילים מופע של User
. עם זאת, Directory API תומך בסמנטיקה של תיקון, כך שצריך לשלוח רק את השדות המעודכנים בבקשה.
בקשה לדוגמה
בדוגמה הבאה, השדה givenName
של המשתמש היה 'Elizabeth' כשחשבון המשתמש נוצר, וסופק רק כתובת אימייל לצורכי עבודה.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "[email protected]",
"type": "work",
"primary": true
}
}
הבקשה הבאה מעדכנת את givenName
מ-'Elizabeth' ל-'Liz', ומוסיפה גם כתובת אימייל ביתית. שימו לב ששתי כתובות האימייל מוצגות במלואן כי השדה הוא מערך.
PUT https://admin.googleapis.com/admin/directory/v1/users/[email protected]
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "[email protected]",
"type": "work",
"primary": true
},
{
"address": "[email protected]",
"type": "home"
}
]
}
בתגובה מוצלחת מוחזר קוד סטטוס HTTP 200
ומשאבים של User
עם השדות המעודכנים.
חשוב לשים לב לנקודות הבאות כשמעדכנים את שם החשבון של משתמש:
- שינוי השם של חשבון משתמש משנה את כתובת האימייל הראשית של המשתמש ואת הדומיין שבו נעשה שימוש לאחזור המידע של המשתמש הזה. לפני שמשנה את שם המשתמש, מומלץ להוציא אותו מכל הסשנים והשירותים בדפדפן.
- תהליך שינוי השם של חשבון משתמש עשוי להימשך עד 10 דקות עד שהוא יעודכן בכל השירותים.
- כשמשנים את שם המשתמש, שם המשתמש הישן נשמר ככתובת אימייל חלופית כדי להבטיח המשך שליחת אימיילים במקרה של הגדרות העברה של אימיילים, והוא לא זמין כשם משתמש חדש.
- באופן כללי, מומלץ גם לא להשתמש בכתובת האימייל של המשתמש כמפתח לנתונים קבועים, כי כתובת האימייל עשויה להשתנות.
- במרכז העזרה לאדמינים מפורטת רשימה מלאה של ההשפעות של שינוי השם של משתמש באפליקציות Google Workspace.
איך מגדירים משתמש כאדמין
כדי להפוך משתמש לסופר-אדמין, משתמשים בבקשה הבאה של POST
וכוללים את ההרשאה שמתוארת בקטע בקשות הרשאה. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש הייחודי id
או אחת מכתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API. מידע נוסף על סופר-אדמינים זמין במרכז העזרה לניהול.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
בקשת JSON
בדוגמה הזו, המשתמש שהערך של userKey
שלו הוא [email protected] הפך לסופר-אדמין:
POST https://admin.googleapis.com/admin/directory/v1/users/[email protected]/makeAdmin
{ "status": true }
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200.
ניהול מערכות יחסים עם משתמשים
ב-Directory API נעשה שימוש בשדה relations
כדי להגדיר סוגים שונים של קשרים בין משתמשים. בסביבה עסקית, אנשים משתמשים בשדה הזה בדרך כלל ליחסי ניהול-עובדים וליחסי עוזר/ת-מנהל, אבל הוא תומך גם בסוגים רבים אחרים. הקשר מוצג בכרטיס 'אנשים קשורים' של המשתמש בכל אפליקציה של Google Workspace שתומכת בכרטיס. דוגמאות למקומות שבהם הכרטיס גלוי מפורטות במאמר הוספת מידע לפרופיל של משתמש בספרייה.
יצירת קשר בין משתמשים
אפשר להגדיר קשר בכיוון אחד בלבד, החל מהמשתמש 'הבעלים', שהרשומה שלו כוללת את השדה relations
. השדה type
מתאר את הקשר של האדם השני למשתמש הבעלים. לדוגמה, ביחסי ניהול-עובד, העובד הוא המשתמש הבעלים, ומוסיפים לחשבון שלו את השדה relations
עם הסוג manager
. בחומר העזר על אובייקט User
מפורטים הסוגים המותרים.
כדי להגדיר את הקשר, יוצרים או מעדכנים את המשתמש הבעלים באמצעות גוף בקשה בפורמט JSON שכולל את השדה relations
.
אפשר ליצור כמה קשרים בבקשה אחת.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
עדכון או מחיקה של קשר
אפשר לעדכן את השדה relations
רק באופן מלא – אי אפשר להתייחס לאנשים הספציפיים שמפורטים כדי לשנות את סוג הקשר או כדי להסיר אותם. בדוגמה שלמעלה, כדי להסיר את קשר הניהול הקיים ולהפוך את חשבון הניהול שמקושר בקו מקווקו לחשבון הניהול של המשתמש הבעלים, מעדכנים את חשבון המשתמש הבעלים עם כל ערכי השדות כפי שרוצים.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
כדי להסיר את כל היחסים של המשתמש הבעלים, מגדירים את relations
כריק:
{
"relations": []
}
אחזור משתמש
כדי לאחזר משתמש, משתמשים בבקשת GET
הבאה וכוללים את ההרשאה שמתוארת בקטע בקשות לאישור. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש הייחודי id
או אחת מכתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
בדוגמה הזו מופיעים המאפיינים של חשבון המשתמש של מי שכתובת האימייל הראשית או החלופית שלו היא [email protected]:
GET https://admin.googleapis.com/admin/directory/v1/users/[email protected]
תגובת JSON
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התשובה מחזירה את המאפיינים של חשבון המשתמש.
{ "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }
אחזור של כל המשתמשים בדומיין
כדי לאחזר את כל המשתמשים באותו דומיין, משתמשים בבקשה הבאה של GET
וכוללים את ההרשאה שמתוארת בקטע הרשאה לבקשות. כדי להקל על הקריאה, בדוגמה הזו נעשה שימוש בהזזת שורה:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=email, givenName, or familyName:the query's value*
למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
תגובת JSON
בדוגמה הזו, כל המשתמשים בדומיין example.com מוחזר עם מקסימום 2 דומיינים של משתמשים בכל דף תגובה. ברשימה הבאה של המשתמשים בתשובה הזו מופיע הערך nextPageToken
. כברירת מחדל, המערכת מחזירה רשימה של 100 משתמשים בסדר אלפביתי לפי כתובת האימייל של המשתמש:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התגובה מחזירה 2 חשבונות משתמשים בדומיין example.com (maxResults=2
):
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "[email protected]", "primary": true } ], "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "user unique ID", "primaryEmail": "[email protected]", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": true, "suspensionReason": "ADMIN", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "contractor license number", "type": "custom", "customType": "work" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "next page token" }
אחזור של כל המשתמשים בחשבון
כדי לאחזר את כל המשתמשים בחשבון שיכול להכיל כמה דומיינים, משתמשים בבקשה הבאה של GET
וכוללים את ההרשאה שמתוארת בקטע אישור בקשות. כדי להקל על הקריאה, בדוגמה הזו נעשה שימוש בהזזת שורה:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=user attributes
- מחרוזת השאילתה
customer
היא הערךmy_customer
או הערךcustomerId
. - משתמשים במחרוזת
my_customer
כדי לייצג אתcustomerId
של החשבון. - כאדמינים של מפיץ, צריך להשתמש ב-
customerId
של הלקוח שמוכר מחדש. בשדהcustomerId
, צריך להשתמש בשם הדומיין הראשי של החשבון בבקשה של הפעולה Retrieve all users in a domain. התשובה שמתקבלת מכילה את הערךcustomerId
. - מחרוזת השאילתה האופציונלית
orderBy
קובעת אם הרשימה תמוין לפי כתובת האימייל הראשית של המשתמש, שם המשפחה או השם הפרטי שלו. כשמשתמשים ב-orderBy
, אפשר גם להשתמש במחרוזת השאילתהsortOrder
כדי לרשום את התוצאות בסדר עולה או יורד. - מחרוזת השאילתה האופציונלית
query
מאפשרת לחפש בשדות רבים בפרופיל המשתמש, כולל שדות ליבה ושדות מותאמים אישית. דוגמאות מפורטות זמינות במאמר חיפוש משתמשים.
למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
בדוגמה הזו, אדמין של חשבון מבקש להציג את כל המשתמשים בחשבון עם רשומת משתמש אחת בכל דף תגובה. ה-nextPageToken
עובר לדף התוצאות הבא:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
בדוגמה הזו, אדמין של מפיץ מבקש את כל המשתמשים בחשבון שנמכר מחדש, שהערך של customerId
בו הוא C03az79cb
.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
תגובת JSON
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. התשובה מחזירה את כל המשתמשים בחשבון הזה, יחד עם קוד הסטטוס:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Elizabeth", "familyName": "Smith", "fullName": "Elizabeth Smith" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": false, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "home", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "bank" } ], "relations": [ { "value": "liz", "type": "friend", "customType": "" } ], "aliases": [ "[email protected]", "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Tester", "familyName": "Three", "fullName": "Tester Three" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "[email protected]", "name": { "givenName": "Admin", "familyName": "Work", "fullName": "Admin Work" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "[email protected]", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "[email protected]" ], "nonEditableAliases": [ "[email protected]" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "NNNNN" }
אחזור של משתמשים שנמחקו לאחרונה
כדי לאחזר את כל המשתמשים שנמחקו ב-20 הימים האחרונים מחשבון או מאחד מהדומיינים של החשבון, משתמשים בבקשות GET
הבאות וכוללים את ההרשאה שמתוארת בקטע אישור בקשות. במאמר ביטול מחיקה של משתמש מוסבר איך לבטל מחיקה של משתמש.
כדי לאחזר משתמשים שנמחקו ב-20 הימים האחרונים מהדומיין הראשי או מאחד מהדומיינים המשניים של החשבון, משתמשים בבקשת GET
הבאה. מחרוזת השאילתה domain
היא שם הדומיין הראשי של הדומיין. למאפייני הבקשה והתגובה של המשתמש, ראו חומר העזר בנושא API. כדי שקל יהיה לקרוא את הדוגמה, השתמשנו בהפסקות שורה:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &showDeleted=true
GET
. כדי להקל על הקריאה, בדוגמה הזו נעשה שימוש בהזזת שורה:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page&showDeleted=true
- מחרוזת השאילתה
customer
היא הערךmy_customer
או הערךcustomerId
. - כאדמינים של החשבון, אתם יכולים להשתמש במחרוזת
my_customer
כדי לייצג אתcustomerId
של החשבון. - כאדמינים של מפיץ, צריך להשתמש ב-
customerId
של הלקוח שמוכר מחדש. בשדהcustomerId
, צריך להשתמש בשם הדומיין הראשי של החשבון בבקשה של הפעולה Retrieve all users in a domain. התשובה שמתקבלת מכילה את הערךcustomerId
.
למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
בדוגמה הזו, אדמין בחשבון מבקש את כל המשתמשים שנמחקו בחשבון:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
תגובת JSON
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200. יחד עם קוד הסטטוס, התשובה מחזירה את כל משתמשי החשבון שנמחקו ב-20 הימים האחרונים:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]" }, { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "[email protected]" } ], "nextPageToken": "token for next page of deleted users" }
אחזור של תמונה של משתמש
ה-API מאחזר תמונה ממוזערת אחת, תמונת הפרופיל האחרונה ב-Google. כדי לאחזר את התמונה האחרונה של המשתמש, משתמשים בבקשה הבאה של GET
וכוללים את ההרשאה שמתוארת בקטע אישור בקשות. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש id
או כל אחת מכתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
בדוגמה הזו, המערכת מחזירה את התמונה האחרונה של [email protected]:
GET https://admin.googleapis.com/admin/directory/v1/users/[email protected]/photos/thumbnail
תגובת JSON
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "[email protected]", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
קידוד ה-base64 של התמונות ב-API, שמתאים לאינטרנט, דומה ל-RFC 4648 'base64url'. כלומר:
- התו / (קו נטוי) מוחלף בתו הקו התחתון (_).
- התו 'פלוס' (+) מוחלף בתו המקף (-).
- התו של סימן השוויון (=) מוחלף בכוכבית (*).
- כדי למלא את המקום, נעשה שימוש בתו הנקודה (.) במקום בהגדרה של baseURL ב-RFC-4648, שבה נעשה שימוש בסמל השוויון (=) למטרה הזו. המטרה היא לפשט את ניתוח כתובות ה-URL.
- לא משנה מה הגודל של התמונה שמעלים, ה-API מקטין אותה באופן יחסי ל-96x96 פיקסלים.
אם אתם צריכים ליצור קישורים תואמים מ-JavaScript, Google Closure Library כוללת פונקציות קידוד ופענוח של Base64, שמתפרסמות ברישיון Apache.
אחזור משתמש ללא הרשאת אדמין
רק אדמינים יכולים לשנות את חשבונות המשתמשים, אבל כל משתמש בדומיין יכול לקרוא את פרופילי המשתמשים. משתמשים שאינם אדמינים יכולים לשלוח בקשה מסוג users.get
או users.list
עם הערך domain_public
לפרמטר viewType
כדי לאחזר את הפרופיל הציבורי של משתמש. ההיקף https://www.googleapis.com/auth/admin.directory.user.readonly
מתאים במיוחד לתרחיש לדוגמה הזה.
התצוגה domain_public
מאפשרת למשתמש שאינו אדמין לגשת לקבוצה רגילה של שדות ליבה. כשמגדירים שדה מותאם אישית, אפשר לבחור אם הוא יהיה ציבורי או פרטי.
עדכון התמונה של משתמש
כדי לעדכן את התמונה של משתמש, משתמשים בבקשה הבאה מסוג PUT
וכוללים את ההרשאה שמתוארת בקטע בקשות לאישור. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש id
או כל אחד מהאימיילים של כתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
בדוגמה הזו, התמונה של [email protected] מתעדכנת:
PUT https://admin.googleapis.com/admin/directory/v1/users/[email protected]/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
כשמעדכנים תמונה, ה-API מתעלם מהמדיניות height
ומהמדיניות width
.
תגובת JSON
תגובה מוצלחת מחזירה קוד סטטוס HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "[email protected]", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
מחיקת תמונה של משתמש
כדי למחוק תמונה של משתמש, משתמשים בבקשה הבאה מסוג DELETE
וכוללים את ההרשאה שמתוארת בקטע הרשאת בקשות. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש id
או כל אחד מהאימיילים של כתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
אחרי המחיקה, התמונה של המשתמש לא תוצג. בכל מקום שבו נדרשת תמונה של משתמש, יוצג צללית במקום זאת.
מחיקה של חשבון משתמש
כדי למחוק חשבון משתמש, משתמשים בבקשה הבאה של DELETE
וכוללים את ההרשאה שמתוארת בקטע אישור בקשות. השדה userKey
יכול להיות כתובת האימייל הראשית של המשתמש, המשתמש הייחודי id
או אחת מכתובות האימייל החלופיות של המשתמש. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
בדוגמה הזו, חשבון המשתמש [email protected] נמחק:
DELETE https://admin.googleapis.com/admin/directory/v1/users/[email protected]
בתגובה מוצלחת מוחזר רק קוד סטטוס HTTP 200.
לפני שמוחקים משתמש, חשוב לשקול את הדברים הבאים:
- למשתמש שנמחק לא תהיה יותר אפשרות להתחבר.
- מידע נוסף על מחיקת חשבונות משתמשים זמין במרכז העזרה לניהול.
ביטול מחיקה של חשבון משתמש
כדי שאפשר יהיה לשחזר חשבון של משתמש שנמחק ב-20 הימים האחרונים, הוא צריך לעמוד בתנאים מסוימים.
כדי לבטל מחיקה של חשבון משתמש, משתמשים בבקשה הבאה מסוג POST
וכוללים את ההרשאה שמתוארת בקטע בקשות לאישור. הערך של userKey
הוא המשתמש הייחודי id
שנמצא בתגובה של הפעולה Retrieve users deleted within the past 20 days. אסור להשתמש בכתובת האימייל הראשית של המשתמש או באחת מכתובות האימייל החלופיות שלו ב-userKey
של הפעולה הזו. למאפייני הבקשה והתגובה, ראו חומר העזר בנושא API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
בדוגמה הזו, המשתמש [email protected] לא נמחק. כל נכסי החשבון הקודמים של המשתמש הזה ישוחזרו:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
תגובה מוצלחת מחזירה רק קוד סטטוס HTTP 204. כדי לראות את החשבון של המשתמש שלא נמחק, משתמשים בפעולה אחזור משתמש.