The enterprise editions of Google Drive Auditor and Gmail Address Extractor use the Google Apps Admin SDK (Directory API) with Google Apps Script to create a list of all users that are part of a Google Workspace domain.
The Google Scripts gets the name and email address of users in the organization and saves the list inside a Google Spreadsheet. This script can only be executed by the domain administrator.
function getDomainUsersList() {
var users = [];
var options = {
domain: "ctrlq.org", // Google Workspace domain name
customer: "my_customer",
maxResults: 100,
projection: "basic", // Fetch basic details of users
viewType: "domain_public",
orderBy: "email", // Sort results by users
};
do {
var response = AdminDirectory.Users.list(options);
response.users.forEach(function (user) {
users.push([user.name.fullName, user.primaryEmail]);
});
// For domains with many users, the results are paged
if (response.nextPageToken) {
options.pageToken = response.nextPageToken;
}
} while (response.nextPageToken);
// Insert data in a spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Users") || ss.insertSheet("Users", 1);
sheet.getRange(1, 1, users.length, users[0].length).setValues(users);
}
Remember to replace ctrlq.org
with your own domain address. You will need to enable the Admin Directory API under Resources > Advanced Google Services.
Then go to Resources > Cloud Platform Project
, click the Project name to open the Google Developer console associated with your Apps Script project. Switch to the Library section, search for Admin SDK and enable the API.