Usługa katalogowa pakietu Admin SDK

Usługa Directory w pakiecie Admin SDK umożliwia korzystanie z interfejsu Directory API z pakietu Admin SDK w Apps Script. Ten interfejs API umożliwia administratorom Google Workspace domen (w tym resellerom) zarządzanie urządzeniami, grupami, użytkownikami i innymi jednostkami w ich domenach.

Dokumentacja

Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu Directory API pakietu Admin SDK. Podobnie jak wszystkie usługi zaawansowane w Apps Script, usługa Admin SDK Directory korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są podpisy metod.

Aby zgłaszać problemy i uzyskać pomoc, zapoznaj się z przewodnikiem pomocy dotyczącym interfejsu Admin SDK Directory.

Przykładowy kod

Poniższy przykładowy kod korzysta z wersji 1 interfejsu API.

Wyświetlanie wszystkich użytkowników

Ten przykład zawiera listę wszystkich użytkowników w domenie posortowanych według imienia.

advanced/adminSDK.gs
/**  * Lists all the users in a domain sorted by first name.  * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list  */ function listAllUsers() {   let pageToken;   let page;   do {     page = AdminDirectory.Users.list({       domain: 'example.com',       orderBy: 'givenName',       maxResults: 100,       pageToken: pageToken     });     const users = page.users;     if (!users) {       console.log('No users found.');       return;     }     // Print the user's full name and email.     for (const user of users) {       console.log('%s (%s)', user.name.fullName, user.primaryEmail);     }     pageToken = page.nextPageToken;   } while (pageToken); }

Pobranie użytkownika

Ten przykład pobiera użytkownika na podstawie jego adresu e-mail i rejestruje wszystkie jego dane jako ciąg znaków JSON.

advanced/adminSDK.gs
/**  * Get a user by their email address and logs all of their data as a JSON string.  * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/get  */ function getUser() {   // TODO (developer) - Replace userEmail value with yours   const userEmail = '[email protected]';   try {     const user = AdminDirectory.Users.get(userEmail);     console.log('User data:\n %s', JSON.stringify(user, null, 2));   } catch (err) {     // TODO (developer)- Handle exception from the API     console.log('Failed with error %s', err.message);   } }

Dodaj użytkownika

Ten przykład dodaje do domeny nowego użytkownika, podając tylko wymagane informacje. Pełną listę pól użytkownika znajdziesz w dokumentacji referencyjnej interfejsu API.

advanced/adminSDK.gs
/**  * Adds a new user to the domain, including only the required information. For  * the full list of user fields, see the API's reference documentation:  * @see https://developers.google.com/admin-sdk/directory/v1/reference/users/insert  */ function addUser() {   let user = {     // TODO (developer) - Replace primaryEmail value with yours     primaryEmail: '[email protected]',     name: {       givenName: 'Elizabeth',       familyName: 'Smith'     },     // Generate a random password string.     password: Math.random().toString(36)   };   try {     user = AdminDirectory.Users.insert(user);     console.log('User %s created with ID %s.', user.primaryEmail, user.id);   } catch (err) {     // TODO (developer)- Handle exception from the API     console.log('Failed with error %s', err.message);   } }

Tworzenie aliasu

Ten przykład tworzy alias (pseudonim) dla użytkownika.

advanced/adminSDK.gs
/**  * Creates an alias (nickname) for a user.  * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/users.aliases/insert  */ function createAlias() {   // TODO (developer) - Replace userEmail value with yours   const userEmail = '[email protected]';   let alias = {     alias: '[email protected]'   };   try {     alias = AdminDirectory.Users.Aliases.insert(alias, userEmail);     console.log('Created alias %s for user %s.', alias.alias, userEmail);   } catch (err) {     // TODO (developer)- Handle exception from the API     console.log('Failed with error %s', err.message);   } }

Pokaż wszystkie grupy

Ten przykład zawiera listę wszystkich grup w domenie.

advanced/adminSDK.gs
/**  * Lists all the groups in the domain.  * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/groups/list  */ function listAllGroups() {   let pageToken;   let page;   do {     page = AdminDirectory.Groups.list({       domain: 'example.com',       maxResults: 100,       pageToken: pageToken     });     const groups = page.groups;     if (!groups) {       console.log('No groups found.');       return;     }     // Print group name and email.     for (const group of groups) {       console.log('%s (%s)', group.name, group.email);     }     pageToken = page.nextPageToken;   } while (pageToken); }

Dodawanie członka grupy

Ten przykład dodaje użytkownika do istniejącej grupy w domenie.

advanced/adminSDK.gs
/**  * Adds a user to an existing group in the domain.  * @see https://developers.google.com/admin-sdk/directory/reference/rest/v1/members/insert  */ function addGroupMember() {   // TODO (developer) - Replace userEmail value with yours   const userEmail = '[email protected]';   // TODO (developer) - Replace groupEmail value with yours   const groupEmail = '[email protected]';   const member = {     email: userEmail,     role: 'MEMBER'   };   try {     AdminDirectory.Members.insert(member, groupEmail);     console.log('User %s added as a member of group %s.', userEmail, groupEmail);   } catch (err) {     // TODO (developer)- Handle exception from the API     console.log('Failed with error %s', err.message);   } }