Dịch vụ thư mục SDK dành cho quản trị viên

Dịch vụ Thư mục SDK dành cho quản trị viên cho phép bạn sử dụng API Thư mục của SDK dành cho quản trị viên trong Apps Script. API này cấp cho quản trị viên của Google Workspace các miền (bao gồm cả đại lý) khả năng quản lý thiết bị, nhóm, người dùng và các thực thể khác trong miền của họ.

Tài liệu tham khảo

Để biết thông tin chi tiết về dịch vụ này, hãy xem tài liệu tham khảo cho API Thư mục SDK dành cho quản trị viên. Giống như tất cả các dịch vụ nâng cao trong Apps Script, dịch vụ Thư mục SDK dành cho quản trị viên cũng sử dụng các đối tượng, phương thức và thông số giống như API công khai. Để biết thêm thông tin, hãy xem phần Cách xác định chữ ký phương pháp.

Để báo cáo vấn đề và tìm dịch vụ hỗ trợ khác, hãy xem Hướng dẫn hỗ trợ Thư mục SDK dành cho quản trị viên.

Mã mẫu

Mã mẫu bên dưới sử dụng phiên bản 1 của API.

Liệt kê tất cả người dùng

Mẫu này liệt kê tất cả người dùng trong miền được sắp xếp theo tên.

nâng cao/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) {
      Logger.log('No users found.');
      return;
    }
    // Print the user's full name and email.
    for (const user of users) {
      Logger.log('%s (%s)', user.name.fullName, user.primaryEmail);
    }
    pageToken = page.nextPageToken;
  } while (pageToken);
}

Thu nạp người dùng

Mẫu này lấy người dùng theo địa chỉ email và ghi lại tất cả dữ liệu dưới dạng chuỗi JSON.

nâng cao/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 = 'liz@example.com';
  try {
    const user = AdminDirectory.Users.get(userEmail);
    Logger.log('User data:\n %s', JSON.stringify(user, null, 2));
  } catch (err) {
    // TODO (developer)- Handle exception from the API
    Logger.log('Failed with error %s', err.message);
  }
}

Thêm người dùng

Mẫu này thêm một người dùng mới vào miền, bao gồm cả thông tin bắt buộc. Để biết danh sách đầy đủ các trường của người dùng, hãy xem tài liệu tham khảo về API.

nâng cao/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: 'liz@example.com',
    name: {
      givenName: 'Elizabeth',
      familyName: 'Smith'
    },
    // Generate a random password string.
    password: Math.random().toString(36)
  };
  try {
    user = AdminDirectory.Users.insert(user);
    Logger.log('User %s created with ID %s.', user.primaryEmail, user.id);
  } catch (err) {
    // TODO (developer)- Handle exception from the API
    Logger.log('Failed with error %s', err.message);
  }
}

Tạo bí danh

Mẫu này tạo một email đại diện (biệt hiệu) cho một người dùng.

nâng cao/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 = 'liz@example.com';
  let alias = {
    alias: 'chica@example.com'
  };
  try {
    alias = AdminDirectory.Users.Aliases.insert(alias, userEmail);
    Logger.log('Created alias %s for user %s.', alias.alias, userEmail);
  } catch (err) {
    // TODO (developer)- Handle exception from the API
    Logger.log('Failed with error %s', err.message);
  }
}

Liệt kê tất cả các nhóm

Mẫu này liệt kê tất cả các nhóm trong miền.

nâng cao/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) {
      Logger.log('No groups found.');
      return;
    }
    // Print group name and email.
    for (const group of groups) {
      Logger.log('%s (%s)', group.name, group.email);
    }
    pageToken = page.nextPageToken;
  } while (pageToken);
}

Thêm thành viên nhóm

Mẫu này thêm người dùng vào một nhóm hiện có trong miền.

nâng cao/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 = 'liz@example.com';
  // TODO (developer) - Replace groupEmail value with yours
  const groupEmail = 'bookclub@example.com';
  const member = {
    email: userEmail,
    role: 'MEMBER'
  };
  try {
    AdminDirectory.Members.insert(member, groupEmail);
    Logger.log('User %s added as a member of group %s.', userEmail, groupEmail);
  } catch (err) {
    // TODO (developer)- Handle exception from the API
    Logger.log('Failed with error %s', err.message);
  }
}