Serviço de diretório do SDK Admin

Com o serviço de diretório do SDK Admin, você pode usar a API Directory do SDK Admin no Apps Script. Essa API permite que os administradores de domínios do Google Workspace (incluindo revendedores) gerenciem dispositivos, grupos, usuários e outras entidades nos domínios deles.

Referência

Para informações detalhadas sobre esse serviço, consulte a documentação de referência da API Directory do SDK Admin. Assim como todos os serviços avançados no Apps Script, o serviço de diretório do SDK Admin usa os mesmos objetos, métodos e parâmetros da API pública. Para mais informações, consulte Como as assinaturas de método são determinadas.

Para informar problemas e encontrar outras opções de suporte, consulte o guia de suporte do diretório do SDK Admin.

Código de amostra

O exemplo de código abaixo usa a versão 1 da API.

Listar todos os usuários

Este exemplo lista todos os usuários em um domínio classificados por nome.

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); }

getUser

Essa amostra recebe um usuário pelo endereço de e-mail e registra todos os dados dele como uma string 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);   } }

Adicionar usuário

Este exemplo adiciona um novo usuário ao domínio, incluindo apenas as informações necessárias. Para conferir a lista completa de campos de usuário, consulte a documentação de referência da 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);   } }

Criar alias

Este exemplo cria um alias (apelido) para um usuário.

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);   } }

Listar todos os grupos

Este exemplo lista todos os grupos no domínio.

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); }

Adicionar participante de grupo

Este exemplo adiciona um usuário a um grupo existente no domínio.

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);   } }