Admin SDK Directory-Dienst

zum Verwalten von Google Workspace-Domains, einschließlich Geräten, Gruppen und Nutzern.

Mit dem Admin SDK Directory-Dienst können Sie die Directory API des Admin SDK in Google Apps Script verwenden. Diese API ermöglicht Administratoren von Google Workspace-Domains (einschließlich Resellern), Geräte, Gruppen, Nutzer und andere Entitäten in ihren Domains zu verwalten.

Dies ist ein erweiterter Dienst, der vor der Verwendung aktiviert werden muss werden. Außerdem muss das Admin SDK in Ihrer Domain aktiviert sein, wie in der Dokumentation zu den Voraussetzungen der API's beschrieben.

Referenz

Ausführliche Informationen zu diesem Dienst finden Sie in der Referenzdokumentation zur Admin SDK Directory API. Wie alle erweiterten Dienste in Apps Script verwendet der Admin SDK Directory-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter Methoden-Signaturen.

Informationen zum Melden von Problemen und zu Supportoptionen finden Sie im Admin SDK Directory-Supportleitfaden.

Beispielcode

Im folgenden Beispielcode wird Version 1 von der API verwendet.

Alle Nutzer aufführen

In diesem Beispiel werden alle Nutzer in einer Domain nach Vornamen sortiert aufgelistet.

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

Nutzer abrufen

In diesem Beispiel wird ein Nutzer anhand seiner E-Mail-Adresse abgerufen und alle seine Daten werden als JSON-String protokolliert.

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

Nutzer hinzufügen

In diesem Beispiel wird der Domain ein neuer Nutzer hinzugefügt, wobei nur die erforderlichen Informationen angegeben werden. Die vollständige Liste der Nutzerfelder finden Sie in der Referenzdokumentation der 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);
  }
}

Alias erstellen

In diesem Beispiel wird ein Alias (Spitzname) für einen Nutzer erstellt.

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

Alle Gruppen auflisten

In diesem Beispiel werden alle Gruppen in der Domain aufgelistet.

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

Gruppenmitglied hinzufügen

In diesem Beispiel wird ein Nutzer einer vorhandenen Gruppe in der Domain hinzugefügt.

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