Admin SDK Directory Service

سرویس دایرکتوری Admin SDK به شما امکان می‌دهد از API دایرکتوری Admin SDK در Apps Script استفاده کنید. این API به مدیران دامنه‌های Google Workspace (از جمله فروشندگان) این امکان را می‌دهد که دستگاه‌ها، گروه‌ها، کاربران و سایر موجودیت‌ها را در دامنه‌های خود مدیریت کنند.

مرجع

برای اطلاعات دقیق در مورد این سرویس، به مستندات مرجع API دایرکتوری SDK Admin مراجعه کنید. مانند تمام سرویس‌های پیشرفته در Apps Script، سرویس دایرکتوری SDK Admin از همان اشیاء، روش‌ها و پارامترهای API عمومی استفاده می‌کند. برای اطلاعات بیشتر، به بخش «نحوه تعیین امضاهای روش» مراجعه کنید.

برای گزارش مشکلات و یافتن پشتیبانی‌های دیگر، به راهنمای پشتیبانی Admin SDK Directory مراجعه کنید.

کد نمونه

کد نمونه زیر از نسخه ۱ این API استفاده می‌کند.

فهرست کردن همه کاربران

این نمونه، تمام کاربران یک دامنه را بر اساس نام کوچک مرتب می‌کند.

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

دریافت کاربر

این نمونه، کاربر را با آدرس ایمیلش دریافت می‌کند و تمام داده‌های او را به صورت یک رشته 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 = 'liz@example.com';
  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);
  }
}

اضافه کردن کاربر

این نمونه یک کاربر جدید را به دامنه اضافه می‌کند، که فقط شامل اطلاعات مورد نیاز است. برای لیست کامل فیلدهای کاربر، به مستندات مرجع 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: 'liz@example.com',
    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);
  }
}

ایجاد نام مستعار

این نمونه یک نام مستعار (یا نام مستعار) برای یک کاربر ایجاد می‌کند.

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 = 'liz@example.com';
  let alias = {
    alias: 'chica@example.com'
  };
  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);
  }
}

فهرست کردن همه گروه‌ها

این نمونه تمام گروه‌های موجود در دامنه را فهرست می‌کند.

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

اضافه کردن عضو گروه

این نمونه، یک کاربر را به یک گروه موجود در دامنه اضافه می‌کند.

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