خدمة دليل SDK للمشرف

لإدارة نطاقات Google Workspace، بما في ذلك الأجهزة والمجموعات والمستخدمين

تتيح لك خدمة "خدمة الدليل" في "SDK للمشرف" استخدام واجهة برمجة تطبيقات الدليل في برمجة تطبيقات Google. تتيح واجهة برمجة التطبيقات هذه لمشرفي نطاقات Google Workspace (بما في ذلك المورّدون) إمكانية إدارة الأجهزة والمجموعات والمستخدمين والكيانات الأخرى في نطاقاتهم.

هذه خدمة متقدّمة يجب تفعيلها قبل الاستخدام. بالإضافة إلى ذلك، يجب تفعيل حزمة SDK للمشرف على نطاقك، كما هو موضّح في مستند متطلبات واجهة برمجة التطبيقات.

مراجع

للحصول على معلومات تفصيلية عن هذه الخدمة، يُرجى الاطّلاع على المستندات المرجعية الخاصة بـ Directory API في Admin SDK. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة Directory في Admin SDK العناصر والطرق والمعلَمات نفسها التي تستخدمها واجهة برمجة التطبيقات العامة. لمزيد من المعلومات، اطّلِع على كيفية تحديد التواقيع.

للإبلاغ عن المشاكل والعثور على دعم آخر، يُرجى الاطّلاع على دليل دعم "دليل Admin SDK".

نموذج التعليمات البرمجية

يستخدِم نموذج الرمز البرمجي التالي الإصدار 1 من واجهة برمجة التطبيقات.

عرض قائمة بجميع المستخدمين

تعرض هذه العيّنة جميع المستخدمين في نطاق مرتّبين حسب الاسم الأول.

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

إضافة مستخدم

يضيف هذا النموذج مستخدمًا جديدًا إلى النطاق، ويتضمّن المعلومات المطلوبة فقط. للاطّلاع على القائمة الكاملة بحقول المستخدمين، راجِع المستندات المرجعية الخاصة بواجهة برمجة التطبيقات.

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